详细见官方文档:条件构造器 | MyBatis-Plus
拼接条件(where)的部分:
1.allEq
全部相等或者部分为空
allEq(键值的Map) //默认使用isNull方法
allEq(键值的Map, 是否使用isNull)
1
2
键值的Map: key为数据库字段名,value为字段值
是否使用isNull: 为true则在map的value为null时调用isNull方法,为false时则忽略value为null的,即只匹配不是null的部分
2.eq
匹配与键值相等的数据
eq(键,值)
1
3.ne
匹配与键值不相等的数据
ne(键,值)
1
4.gt
匹配大于键值的数据
gt(键,值)
1
5.ge
匹配大于等于键值的数据
ge(键,值)
1
6.lt
匹配小于键值的数据
lt(键,值)
1
7.le
匹配小于等于键值的数据
le(键,值)
1
8.between
匹配区间内的数据 BETWEEN 值1 AND 值2
between(键,值1,值2)
1
9.notBetween
匹配区间外的数据 NOT BETWEEN 值1 AND 值2
notBetween(键,值1,值2)
1
10.like
模糊查询 前后模糊 %值%
like(键,值)
1
11.notLike
排除值的模糊查询
notLike(键,值)
1
12.likeLeft
模糊查询 前模糊 %值
likeLeft(键,值)
1
13.likeRight
模糊查询 后模糊 值%
likeRight(键,值)
1
14.isNull
匹配键值为空的数据
isNull(键,值)
1
15.isNotNull
匹配键值不为空的数据
isNotNull(键,值)
1
16.in
根据匹配的键值批量查询
in(键,值的数组)
in(键,值1,值2,...)
1
2
17.notIn
根据不匹配的键值批量查询
notIn(键,值的数组)
notIn(键,值1,值2,...)
1
2
18.inSql
子查询
inSql(键,值)
1
例:
inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6)
inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)
1
2
19.notInSql
子查询 与inSql相反
notInSql(键,值)
1
例:
notInSql("age", "1,2,3,4,5,6")--->age not in (1,2,3,4,5,6)
notInSql("id", "select id from table where id < 3")--->id not in (select id from table where id < 3)
1
2
20.groupBy
分组查询
groupBy(键1,键2,...)
1
21.orderByAsc
根据键值升序排列
orderByAsc(键1,键2,...)
1
22.orderByDesc
根据键值降序排列
orderByDesc(键1,键2,...)
1
23.having
在由GROUP BY子句创建的分组上设置条件
having(sql语句)
having(sql语句,条件1,条件2...)
1
2
例:
having("sum(age) > 10")--->having sum(age) > 10
having("sum(age) > {0}", 11)--->having sum(age) > 11
1
2
24.or
有两种用法:
第一种表示连接方法采用or的形式,默认是and
or()
1
例:
eq().or().eq()
1
第二种表示or嵌套:
例:
or(i -> i.eq("name", "李白").ne("status", "活着"))--->or (name = '李白' and status <> '活着')
1
25.and
and嵌套
例:
and(i -> i.eq("name", "李白").ne("status", "活着"))--->and (name = '李白' and status <> '活着')
1
26.nested
正常嵌套不带AND或者OR
nested(i -> i.eq("name", "李白").ne("status", "活着"))--->(name = '李白' and status <> '活着')
1
27.apply
拼接sql
apply(sql语句,参数1,参数2)
1
例:
apply("date_format(dateColumn,'%Y-%m-%d') = {0}", "2008-08-08")--->date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")
1
28.last
无视优化规则直接拼接到 sql 的最后
只能调用一次,多次调用以最后一次为准
last(sql语句)
1
29.exists
拼接 EXISTS ( sql语句 )
exists(sql语句)
1
30.notExists
拼接 NOT EXISTS ( sql语句 )
notExists(sql语句)
1
拼接查询(select)的部分:
select
select(查询的键1,查询的键2...)
1
例:
select("id", "name", "age")
1
拼接更新(update)的部分:
1.set
set(键,值)
1
2.setSql
setSql(sql语句)
————————————————
版权声明:本文为CSDN博主「这可真叫人头秃」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38425719/article/details/106603783