Mybatis/Plus QueryWrapper查询中and or 连用(or加括号)

2022-04-02 1153点热度 0人点赞 0条评论

QueryWrapper下每增加一行条件,默认每个条件是and且的关系,如果要增加一个条件,这个条件下所有的关系是或者(or),就是这个条件下的子条件之前是or,外部用and,增加一个括号,括号中用or

可以用如下方式

QueryWrapper<User> userWrapper = new QueryWrapper<>();
userWrapper.eq("type", "admin");
String keys = (String) map.get("key");
if(StringUtils.isNotBlank(keywords)) { 
    userWrapper.and(wrapper -> wrapper.like("name", keywords).or().like("mobile", keywords));
}

其中userWrapper.and(wrapper -> wrapper.like("name", keywords).or().like("mobile", keywords));

相当于SQL是:

select * from t_user where type='admin' and (
name like '%keywords%' or mobile like '%keywords%'
)

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论