EntityWrapper如何在and条件中嵌套or语句
作者:风情小皮球
这篇文章主要介绍了EntityWrapper如何在and条件中嵌套or语句,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在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”) | 
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
