亲宝软件园·资讯

展开

EntityWrapper在and中嵌套or语句

风情小皮球 人气:6

在and条件中嵌套or语句

想要写一个类似如下的语句:

select * from table_1 where (coulmn_1 like '%XX%' or coulmn_1 like '%XX%')  and del_flag='0'

但是在实际执行过程中,mybatisplus将其解析成了:

select * from table_1 where coulmn_1 like '%XX%' or coulmn_1 like '%XX%'  and del_flag='0'

显然,这里由于没有括号,条件是不一样的。使用andNew代替and:

wrapper.andNew("del_flag='0'");

最后在日志中打印出的语句为:

select * from table_1 where (coulmn_1 like '%XX%' or coulmn_1 like '%XX%')  and (del_flag='0')

andNew的作用就是另起一个and()!

EntityWrapper的一些接口说明

查询方式说明
setSqlSelect设置SELECT查询字段
whereWHERE语句,拼接 - WHERE条件
andAND语句,拼接 - AND 字段=值
andNewAND语句,拼接 - AND (字段=值)
orOR语句,拼接 - OR 字段=值
orNewOR语句,拼接 - OR(字段=值)
eq等于=
allEq基于map内容等于=
ne不等于<>
gt大于>
ge大于等于>=
lt小于<
le小于等于<=
like模糊查询LIKE
notLike模糊查询NOT LIKE
inIN查询
notinNOT IN查询
isNullNULL值查询
isNotNullIS NOT NULL
groupBy分组GROUP BY
havingHAVING关键词
orderBy排序ORDER BY
orderAscASC排序ORDER BY
orderDescDESC排序ORDER BY
existsEXISTS条件语句
notExistsNOT EXISTS条件语句
betweenBETWEEN条件语句
notBetweenNOT BETWEEN条件语句
addFilter自由拼接SQL
last拼接在最后,例如last(“LIMIT 1”)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论