mybatisplus where QueryWrapper加括号嵌套查询方式
更新时间:2022年01月11日 11:34:49 作者:职业秃头程序员
这篇文章主要介绍了mybatisplus where QueryWrapper加括号嵌套查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。
where QueryWrapper加括号嵌套查询
之前的代码是这个样子的:
QueryWrapper<RyxyMemberEntity> wrapper = new QueryWrapper<>();
wrapper.eq("phoneNumber", phone);
if (StringUtils.isEmpty(scenetype)){
wrapper.isNull("scenetype").or().eq("scenetype", "");
}
wrapper.eq("delFlag", "0");相对应的SQL语句如下:
WHERE( phoneNumber = 156****8888 AND scenetype IS NULL OR scenetype = "" AND delFlag = 0)
这并不是我想要的sql语句,查询的数据也不正确,对scenetype的查询应该是括起来的,满足其一条件即可,也就是这样:
WHERE( phoneNumber = 156****8888 AND (scenetype IS NULL OR scenetype = "") AND delFlag = 0)
相对应的代码应该这样写才对:
QueryWrapper<RyxyMemberEntity> wrapper = new QueryWrapper<>();
wrapper.eq("phoneNumber", phone);
if(StringUtils.isEmpty(scenetype)) {
wrapper.and(
e -> e.isNull("scenetype")
.or().eq("scenetype", "")
);
}
wrapper.eq("delFlag", "0");mybatisplus查询语句加括号(.or(),.and())
java代码:
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.ne("id", param.getId())
wrapper.and(QueryWrapper -> QueryWrapper.eq("name", name).or().eq("mark", mark));
entityMapper.selectList(wrapper);等价sql
SELECT id FROM t_entity WHERE (id <> ? AND (name = ? OR mark = ?))
每个and相当于一个括号
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- MybatisPlus使用Wrapper实现条件查询功能
- mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解
- Mybatis-plus动态条件查询QueryWrapper的使用案例
- MyBatisPlus-QueryWrapper多条件查询及修改方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
- mybatis-plus QueryWrapper自定义查询条件的实现
- 详解MyBatis-Plus Wrapper条件构造器查询大全
- Mybatis Plus Wrapper查询某几列的方法实现
相关文章
基于Properties类操作.properties配置文件方法总结
这篇文章主要介绍了Properties类操作.properties配置文件方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
spring boot使用RabbitMQ实现topic 主题
本篇文章主要介绍了spring boot使用RabbitMQ实现topic 主题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-03-03
如何利用java中String类的substring()字符串截取最后一个字符
Java中的String是不可变的类型,因此substring()方法并不会改变原字符串,而是返回了一个新的字符串,这篇文章主要介绍了如何利用java中String类的substring()字符串截取最后一个字符,需要的朋友可以参考下2023-11-11
Spring事务管理下synchronized锁失效问题的解决方法
这篇文章主要给大家介绍了关于Spring事务管理下synchronized锁失效问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring具有一定的参考学习价值,需要的朋友可以参考下2022-03-03


最新评论