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);
}
});
文章介绍了在MybatisPlus框架中,如何利用QueryWrapper和lambda表达式来构建查询条件,特别是如何实现OR连接。示例代码展示了如何对名字列表进行OR条件匹配,先设置第一个名字,然后遍历列表剩余部分添加OR条件。
2249

被折叠的 条评论
为什么被折叠?



