当前位置:   article > 正文

QueryWrapper的lambda表达式使用OR_lambdaquerywrapper or

lambdaquerywrapper or

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

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

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

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

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

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

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

  1. List<String> nameList = Lists.newArrayList("aa","bb","cc");
  2. String firstName = nameList.get(0);
  3. nameList.remove(0);
  4. queryWrapper.lambda().and(wq->{
  5. wq.like(User::getName,firstName);
  6. for(String name : nameList){
  7. wq.or().like(User::getName,name);
  8. }
  9. });
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43655
推荐阅读
相关标签
  

闽ICP备14008679号