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端实现单一参数多对应查询