MybatisPlus条件构造器 多个组合OR嵌套拼接写法

简介: MybatisPlus条件构造器 多个组合OR嵌套拼接写法

主要是注意or拼接的两个条件,与第三个条件组合时的and是怎么使用的

// 参数
final List<UserOrder> userOrders = getUserOrders();
 
// 创建查询参数
LambdaQueryWrapper<UserOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(UserOrder::getChargeObjectType, "x");
lqw.and(ilqw -> {
            userOrders.forEach(o -> {
                ilqw.or(iilqw -> iilqw.eq(UserOrder::getUserId, o.getUserId()).eq(UserOrder::getUserType, o.getUserType()));
            });
        }
);
 
// 查询
List<UserOrder> list = userOrderService.list(lqw);

SELECT
    *
FROM
    user_order 
WHERE
    charge_object_type = ? AND ((user_type = ? AND user_id = ?) OR (user_type = ? AND user_id = ?))```  
相关文章
|
3月前
|
Java API
使用Lambda表达式实现函数映射和过滤
使用Lambda表达式实现函数映射和过滤
21 1
|
2月前
|
JavaScript
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
|
4月前
|
算法 Python
Python函数的嵌套调用:深入理解与应用
Python函数的嵌套调用:深入理解与应用
100 1
|
4月前
|
C#
C#动态查询:巧用Expression组合多条件表达式
在C#中,利用`Expression`类和`AndAlso`、`OrElse`方法,可以组合两个`Expression&lt;Func&lt;T, bool&gt;&gt;`以实现动态多条件查询。该方法通过构建表达式树,方便地构建复杂查询。示例代码展示了如何创建表达式树,分别检查年龄大于等于18和姓名为&quot;John&quot;的条件,并使用`AndAlso`组合这两个条件,最终编译为可执行的委托进行测试。
138 1
|
存储 JSON PHP
PHPJSON嵌套对象和数组的解析方法
在PHP编程开发中,JSON是一种非常常用的数据格式。它具有简单、轻量和易于解析的特点,非常适合用于数据交换和存储。当我们处理JSON数据时,经常需要解析嵌套的对象和数组,本文将介绍几种解析方法。
98 1
|
10月前
简化对象和函数写法
简化对象和函数写法
29 1
|
程序员 Ruby
“茴” 字的六种写法---l 类方法的七种定义方式
“茴” 字的六种写法---l 类方法的七种定义方式
|
前端开发
Less预处理——继承、导入、条件表达式和函数
Less预处理——继承、导入、条件表达式和函数
277 0
|
Java Maven Ruby
去掉复杂的逻辑计算,get一下Aviator吧
去掉复杂的逻辑计算,get一下Aviator吧
458 0