詳細見官方文檔:條件構造器 | MyBatis-Plus
拼接條件(where)的部分:
1.allEq
全部相等或者部分為空
allEq(鍵值的Map) //默認使用isNull方法
allEq(鍵值的Map, 是否使用isNull)
鍵值的Map: key為數據庫字段名,value為字段值
是否使用isNull: 為true則在map的value為null時調用isNull方法,為false時則忽略value為null的,即只匹配不是null的部分
2.eq
匹配與鍵值相等的數據
eq(鍵,值)
3.ne
匹配與鍵值不相等的數據
ne(鍵,值)
4.gt
匹配大於鍵值的數據
gt(鍵,值)
5.ge
匹配大於等於鍵值的數據
ge(鍵,值)
6.lt
匹配小於鍵值的數據
lt(鍵,值)
7.le
匹配小於等於鍵值的數據
le(鍵,值)
8.between
匹配區間內的數據 BETWEEN 值1 AND 值2
between(鍵,值1,值2)
9.notBetween
匹配區間外的數據 NOT BETWEEN 值1 AND 值2
notBetween(鍵,值1,值2)
10.like
模糊查詢 前后模糊 %值%
like(鍵,值)
11.notLike
排除值的模糊查詢
notLike(鍵,值)
12.likeLeft
模糊查詢 前模糊 %值
likeLeft(鍵,值)
13.likeRight
模糊查詢 后模糊 值%
likeRight(鍵,值)
14.isNull
匹配鍵值為空的數據
isNull(鍵,值)
15.isNotNull
匹配鍵值不為空的數據
isNotNull(鍵,值)
16.in
根據匹配的鍵值批量查詢
in(鍵,值的數組)
in(鍵,值1,值2,...)
17.notIn
根據不匹配的鍵值批量查詢
notIn(鍵,值的數組)
notIn(鍵,值1,值2,...)
18.inSql
子查詢
inSql(鍵,值)
例:
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)
19.notInSql
子查詢 與inSql相反
notInSql(鍵,值)
例:
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)
20.groupBy
分組查詢
groupBy(鍵1,鍵2,...)
21.orderByAsc
根據鍵值升序排列
orderByAsc(鍵1,鍵2,...)
22.orderByDesc
根據鍵值降序排列
orderByDesc(鍵1,鍵2,...)
23.having
在由GROUP BY子句創建的分組上設置條件
having(sql語句)
having(sql語句,條件1,條件2...)
例:
having("sum(age) > 10")--->having sum(age) > 10
having("sum(age) > {0}", 11)--->having sum(age) > 11
24.or
有兩種用法:
第一種表示連接方法采用or的形式,默認是and
or()
例:
eq().or().eq()
第二種表示or嵌套:
例:
or(i -> i.eq("name", "李白").ne("status", "活着"))--->or (name = '李白' and status <> '活着')
25.and
and嵌套
例:
and(i -> i.eq("name", "李白").ne("status", "活着"))--->and (name = '李白' and status <> '活着')
26.nested
正常嵌套不帶AND或者OR
nested(i -> i.eq("name", "李白").ne("status", "活着"))--->(name = '李白' and status <> '活着')
27.apply
拼接sql
apply(sql語句,參數1,參數2)
例:
apply("date_format(dateColumn,'%Y-%m-%d') = {0}", "2008-08-08")--->date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")
28.last
無視優化規則直接拼接到 sql 的最后
只能調用一次,多次調用以最后一次為准
last(sql語句)
29.exists
拼接 EXISTS ( sql語句 )
exists(sql語句)
30.notExists
拼接 NOT EXISTS ( sql語句 )
notExists(sql語句)
拼接查詢(select)的部分:
select
select(查詢的鍵1,查詢的鍵2...)
例:
select("id", "name", "age")
拼接更新(update)的部分:
1.set
set(鍵,值)
2.setSql
setSql(sql語句)
轉載:
https://allyixi.blog.csdn.net/article/details/106603783?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link