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”) |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
