首页 > 其他分享 >mybatisplus一个入参查询两个字段用或

mybatisplus一个入参查询两个字段用或

时间:2024-06-14 17:32:46浏览次数:19  
标签:code mybatisplus package param 入参 字段 version wrapper maintenance

1 List<TechnologyParamPackageMaterialVo> materialVoList = new ArrayList<>();
2 
3 LambdaQueryWrapper<TechnologyParamPackage> wrapper = new LambdaQueryWrapper<>();
4 wrapper.eq(ObjUtil.isNotEmpty(queryReq.getStatus()),TechnologyParamPackage::getStatus,queryReq.getStatus());
5 materialVoList.forEach(e ->{
6     wrapper.or().eq(TechnologyParamPackage::getParamPackageCode,e.getParamPackageCode())
7             .eq(TechnologyParamPackage::getParamPackageVersion,e.getParamPackageVersion());
8 });
9 wrapper.orderByDesc(TechnologyParamPackage::getCreateTime);

主要就是这个wrapper.or(),出来的效果为如下
 1 SELECT 
 2     param_package_name,
 3     param_package_version,
 4     technology_code,
 5     technology_version,
 6     `STATUS`
 7 FROM
 8     technology_param_package 
 9 WHERE
10     del_flag = '0' 
11     AND (  
12         param_package_code = '002' 
13         AND param_package_version = 2 
14         OR param_package_code = 'package0603' 
15         AND param_package_version = 603 
16         OR param_package_code = 'packagecode03' 
17         AND param_package_version = 3 
18         OR param_package_code = 'devtest001' 
19         AND param_package_version = 1 
20     ) 
21 ORDER BY
22     create_time DESC 

这里记录主要是使用mybatisplus的LambdaQueryWrapper,里面的两个字段用and,之外用or去隔开

因为开发中用到多次,所以做个记录

 

第二个是如下:

if (StrUtil.isNotEmpty(queryReq.getSearchCodeAndName())){
    wrapper.like(Maintenance::getMaintenanceCode,queryReq.getSearchCodeAndName()).or().like(Maintenance::getMaintenanceName,queryReq.getSearchCodeAndName());
}

 效果如下

SELECT 
    maintenance_code,
    maintenance_name,
    maintenance_period,
    maintenance_position,
    operation_method,
    standard
FROM
    maintenance 
WHERE
    del_flag = '0' 
    AND ( maintenance_code LIKE '%a%' OR maintenance_name LIKE '%a%' ) 
ORDER BY
    create_time DESC 

 

这个是传入一个参数,查询两个字段,用or去区分隔开

 

 




标签:code,mybatisplus,package,param,入参,字段,version,wrapper,maintenance
From: https://www.cnblogs.com/qwg-/p/18248333

相关文章

  • MyBatis-Plus更新字段为null时,update语句为null字段不生效的解决方法
    MyBatis-Plus更新字段为null时,update语句为null字段不生效的解决方法https://blog.csdn.net/y2020520/article/details/1328272061)修改MyBatis-Plus全局默认策略缺点:这样做会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为nullmybatis-p......
  • MybatisPlus - [04] 分页查询
    limitm,n、PageHelper、MyBatisPlus分页插件 一、拦截器分页(1)在MybatisPlusConfig中进行配置@BeanpublicMybatisPlusInterceptorpaginationInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();interceptor.addInnerIntercep......
  • sql字段对应批量数据处理工具
    <htmllang="zh-CN"><head> <metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scal......
  • Mybatis 实体类中字段使用 ZonedDateTime,但达梦数据库使用无时区的 Timestamp 时发生
    背景开发的应用运行在东八区,无国际化需求,也无时区相关要求。后端使用SpringBoot和Mybatis,数据库使用达梦数据库,数据库中存储时间的类型为Timestamp(不存储时区信息)其中实体如下publicclassStudent{Stringid;ZonedDateTimeentryTime;}前端和后端约定时......
  • Java中List集合中多个字段如何排序
    开源项目SDK:https://github.com/mingyang66/spring-parent个人文档:https://mingyang66.github.io/raccoon-docs/#/一、首先定义一个三个属性的People类publicclassPeople{privateStringname;privateintage;privateintheight;publicPeople......
  • C# 字段 属性 方法 构造函数 索引器 事件 嵌套类型 常量 运算符重载
    字段声明字段字段初始化静态字段常量字段只读字段字段的访问然而属性声明属性自动实现的属性只读属性只写属性属性的逻辑处理属性的访问修饰符属性和字段的区别属性的用途总结索引器索引器的基本语法使用索引器索引器的关键点语法参数访问和设置异常处理性能重载使用......
  • 在Linux中,如何进行调度任务?什么是 crontab 并解释 crontab 中的字段?
    在Linux中,调度任务通常指的是在预定的时间自动执行脚本或命令。cron(cronjob)是一种常用的任务调度工具,它按照设定的时间表周期性地执行任务。1.什么是crontab?crontab是一个配置文件,它包含了一个或多个cron任务的列表。每个任务都有一个特定的时间表,定义了任务何时执行。cro......
  • 【微服务】第3节:MybatisPlus的扩展功能
    目录1.扩展功能1.1.代码生成1.1.1.安装插件1.1.2.使用1.2.静态工具1.3.逻辑删除1.3.通用枚举1.3.1.定义枚举1.3.2.配置枚举处理器1.3.3.测试1.4.JSON类型处理器1.4.1.定义实体1.4.2.使用类型处理器1.5.配置加密(选学)1.5.1.生成秘钥1.5.2.修改配置1.5.3.测试......
  • MyBatisPlus总结二
    MybatisPlus总结一在这:MybatisPlus总结1/2-CSDN博客六、分页查询:6.1.介绍:        MybatisPlus内置了分页插件,所以我们只需要配置一个分页拦截器就可以了,由于不同的数据库的分页的方式不一样,例如mysql和oracle数据库的写法是完全不一样的,所以我们需要去指定一个数......
  • 《物料清单汇总查询》二开增加自定义字段
    业务需求增加文本,显示物料清单的替代编码。 说明BomQueryIntegration继承了BomQueryForward。具体步骤1、新建cs类BomQueryIntegrationExtend,继承BomQueryIntegration,重写获取子项信息GetBomChildData。protectedoverrideList<DynamicObject>GetBomChildData(List<Dynami......