本插件需要配合mybatis_plus_advance_idea_plugin 插件 一起使用(后期稳定了合并到mybatisx插件里去),我在项目中已经提供,在plugIn文件夹下。 项目依赖了此jar后,会自动生成一系列的方法 和自动生成mapper(可配置)
@Data
@TableName(value="user",genMapper = true) //这里设置为true即可自动生成mapper
public class User {
}
自动生成的mapper是User的静态内部接口,所以要加mapper扫描目录到po目录比如:
@MapperScan(basePackages = {"com.fhs.test.pojo","com.fhs.test.mapper"})
new User().userId().eq(1).name().like("王").age().orderByAsc().one()
User user = new User();
user.userId().eq(1).select(User.USERID,User.NAME,User.SEX,User.SCHOOLID).innerJoin(School.class)
.select(School.ID,School.SCHOOLNAME,School.REMARK).schoolName().like("一");
user.list();
bean2Wrapper,list,select(String... fields),one,count,delete,update,innerJoin,leftJoin,rightJoin
eq,neq,ge,gt,le,lt,like,notLike,likeLeft,likeRight,in,notIn,between,notBetween,orderByAsc,orderByDesc,isNull,notNull
前端高级查询API是一套标准的查询传参规范,可以在后端不写SQL的情况下根据前端参数自动组装wrapper,比如我想查询名字叫做王磊或者王磊1的并且性别为男的人可以这样传参:
{
"sorter":[{
"property":"userId",
"direction":"DESC"
}],
"querys":[{
"property":"name",
"operator":"=",
"value":"王磊",
"relation":"OR",
"group":"nameGroup"
},
{
"property":"name",
"operator":"=",
"value":"王磊1",
"relation":"OR",
"group":"nameGroup"
},{
"property":"sex",
"value":"男"
}]
}
后端使用:
@PostMapping("filter")
public List<User> filter(@RequestBody QueryFilter<User> filter){
return userService.selectList(filter.asWrapper(User.class));
}
本插件代码入口为:MybatisPlusModelInjectorAnnotationProcessor,为AST修改总入口,FuntionTools 为组装wrapper,执行sql返回结果。ASTBuilder AST语法树构造器。ModelExtension PO扩展接口。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。