com.baomidou.mybatisplus.core.conditions.query.QueryWrapper是MybatisPlus框架構(gòu)造查詢條件常用的對象
使用lambda表達式寫法更為清晰,簡潔:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getName,"aa");
queryWrapper.lambda().ge(User::getAge,20);
默認情況下多個條件是and連接:上述寫法對應(yīng)的SQL為:where name like '%aa%' and age >= 20
如果要使用or連接的話,方法如下:文章來源:http://www.zghlxwxcb.cn/news/detail-537786.html
queryWrapper.lambda().and(wq->{
wq.like(User::getName,"aa");
wq.or().like(User::getName,"bb);
});
這里引申下我遇到的一個場景:需要or連接的是一個集合內(nèi)的所有元素:文章來源地址http://www.zghlxwxcb.cn/news/detail-537786.html
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);
}
});
到了這里,關(guān)于QueryWrapper的lambda表達式使用OR的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!