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%' )
文章评论