EntityWrapper如何在and条件中嵌套or语句
短信预约 -IT技能 免费直播动态提醒
在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查询字段 |
where | WHERE语句,拼接 - WHERE条件 |
and | AND语句,拼接 - AND 字段=值 |
andNew | AND语句,拼接 - AND (字段=值) |
or | OR语句,拼接 - OR 字段=值 |
orNew | OR语句,拼接 - OR(字段=值) |
eq | 等于= |
allEq | 基于map内容等于= |
ne | 不等于<> |
gt | 大于> |
ge | 大于等于>= |
lt | 小于< |
le | 小于等于<= |
like | 模糊查询LIKE |
notLike | 模糊查询NOT LIKE |
in | IN查询 |
notin | NOT IN查询 |
isNull | NULL值查询 |
isNotNull | IS NOT NULL |
groupBy | 分组GROUP BY |
having | HAVING关键词 |
orderBy | 排序ORDER BY |
orderAsc | ASC排序ORDER BY |
orderDesc | DESC排序ORDER BY |
exists | EXISTS条件语句 |
notExists | NOT EXISTS条件语句 |
between | BETWEEN条件语句 |
notBetween | NOT BETWEEN条件语句 |
addFilter | 自由拼接SQL |
last | 拼接在最后,例如last(“LIMIT 1”) |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341