QueryWrapper的lambda表达式使用OR

文章介绍了在MybatisPlus框架中,如何利用QueryWrapper和lambda表达式来构建查询条件,特别是如何实现OR连接。示例代码展示了如何对名字列表进行OR条件匹配,先设置第一个名字,然后遍历列表剩余部分添加OR条件。
摘要由CSDN通过智能技术生成

com.baomidou.mybatisplus.core.conditions.query.QueryWrapper是MybatisPlus框架构造查询条件常用的对象

使用lambda表达式写法更为清晰,简洁:

  QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  queryWrapper.lambda().eq(User::getName,"aa");
  queryWrapper.lambda().ge(User::getAge,20);

默认情况下多个条件是and连接:上述写法对应的SQL为:where name like '%aa%' and age >= 20

如果要使用or连接的话,方法如下:

queryWrapper.lambda().and(wq->{
    wq.like(User::getName,"aa");
    wq.or().like(User::getName,"bb);
});

这里引申下我遇到的一个场景:需要or连接的是一个集合内的所有元素:

List<String> nameList = Lists.newArrayList("aa","bb","cc");
String firstName = nameList.get(0);
nameList.remove(0);
queryWrapper.lambda().and(wq->{
    wq.like(User::getName,firstName);
    for(String name : nameList){
        wq.or().like(User::getName,name);
    }
});
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值