mybatisplus一个入参查询两个字段用and,集合元素之间用或

复制代码
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去区分隔开

 

 




posted @   多多指教~  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示