条件构造器
说明:
- 以下出现的第一个入参
boolean condition
表示该条件是否加入最后生成的sql中,例如:query.like(StringUtils.isNotBlank(name), Entity::getName, name) .eq(age!=null && age >= 0, Entity::getAge, age) - 没有标明
condition
的方法,默认为true
- 以下出现的泛型
Param
均为Wrapper
的子类实例(均具有AbstractWrapper
的所有方法) - 以下方法在入参中出现的
R
为泛型,在普通wrapper中是String
,在LambdaWrapper中是函数(例:Entity::getId
,Entity
为实体类,getId
为字段id
的getMethod) - 参数
R column
均表示数据库字段
,而不是实体类数据字段名!!!(字段名是数据库关键字的自己用转义符包裹!)! - 以下举例均为使用普通wrapper,入参为
Map
和List
的均以json
形式表现! - 使用中如果入参的
Map
或者List
为空,则不会加入最后生成的sql中!!! - 有任何疑问就点开源码看,看不懂函数的点击我学习新知识
xxx(R column, Object val)
xxx(boolean condition, R column, Object val)
参数:condition - 执行条件;column - 字段;val - 值
参考链接:
MybatisPlus学习(四)条件构造器Wrapper方法详解
关于MybatisPlus的QueryWrapper定义查询条件的and()和or()方法连用问题
MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用
【MyBatis】mybatis Plus 的Wrapper查询
(五)springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper