Mybatis-plus查询语句加括号(.or(),.and())问题
更新时间:2025年04月21日 09:02:24 作者:叶梓啊
这篇文章主要介绍了Mybatis-plus查询语句加括号(.or(),.and())问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Mybatis-plus查询语句加括号(.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相当于一个括号
mybatis plus加括号实现分端查询
LambdaQueryWrapper<实体类> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(实体类::字段名,参数)
- .and(条件,pr -> pr.like(实体类::字段名,参数)
- .or(条件).like(实体类::字段名,参数));
举例
LambdaQueryWrapper<Entity> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(Entity::getStatus, BaseServiceConstants.STATUS_0)
.like(StringUtils.isNotEmpty(busiInfo.getName()) && !appFlag, Entity::getName, busiInfo.getName())
.like(StringUtils.isNotEmpty(busiInfo.getSupervisor()) && !appFlag, Entity::getSupervisor, busiInfo.getSupervisor())
.eq(StringUtils.isNotEmpty(busiInfo.getCode()), Entity::getCode, busiInfo.getCode())
.and(StringUtils.isNotEmpty(busiInfo.getName()) && appFlag, pr -> pr .like( Entity::getName, busiInfo.getName())
.or().like(Entity::getSupervisor, busiInfo.getName()));通过定义boolean变量 appFlag 来区别查询来自PC还是APP端,APP端实现单一参数多对应查询
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot中Get请求和POST请求接收参数示例详解
文章详细介绍了SpringBoot中Get请求和POST请求的参数接收方式,包括方法形参接收参数、实体类接收参数、HttpServletRequest接收参数、@PathVariable接收参数、数组参数接收、集合参数接收、Map接收参数以及通过@RequestBody接收JSON格式的参数,感兴趣的朋友一起看看吧2024-12-12
SpringBoot 中使用 Validation 校验参数的方法详解
Validation 是用于检查程序代码中参数的有效性的框架,作为 Spring 框架中的一个参数校验工具,集成在 spring-context 包中,这篇文章主要介绍了SpringBoot 中使用 Validation 校验参数,需要的朋友可以参考下2022-05-05
HTTP 415错误-Unsupported media type详解
这篇文章主要介绍了HTTP 415错误-Unsupported media type详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08
SpringBoot整合Redis之编写RedisConfig
RedisConfig需要对redis提供的两个Template的序列化配置,所以本文为大家详细介绍了SpringBoot整合Redis如何编写RedisConfig,需要的可以参考下2022-06-06
maven打包成第三方jar包且把pom依赖包打入进来的方法
这篇文章主要介绍了maven打包成第三方jar包且把pom依赖包打入进来的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11
SpringBoot整合任务系统quartz和SpringTask的方法
这篇文章主要介绍了SpringBoot整合任务系统(quartz和SpringTask),Quartz是一个比较成熟了的定时任务框架,但是捏,它稍微的有些许繁琐,本文先给大家讲解下Quartz的一些基本概念结合实例代码给大家详细讲解,需要的朋友可以参考下2022-10-10


最新评论