赞
踩
Mybatis-Plus and 和or使用## 标题
比较常见的使用格式:
select * from user_infor where user_name = ? and ( user_phone= ? or user_class= ?)
mybatis-plus的写法:
QueryWrapper userWrapper = new QueryWrapper();
userWrapper.eq(“user_name”, name); userWrapper.and(wrapper ->wrapper.eq(“user_phone”, userClass).or().eq(“user_class”, userPhone));
今天遇到一种情况,数据库表字段是字符串类型,字段多选模糊查询是要做一些处理的,目前的思路是“,”拆分,然后模糊查询,由于选项个数不确定,所以在拼接条件的时候需要循环处理,mybatis-plus支持条件表达式:
select * from user_infor where user_class= ? and ( user_name= ? or user_name= ?)
mybatis-plus的写法:
QueryWrapper userWrapper = new QueryWrapper();
userWrapper.eq(“user_class”, userClass);
userWrapper.and(w->{
nameList.forEach(i->w.like("user_name",userName).or());
return w;
}
);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。