MybatisPlus QueryWrapper and or 连用 | 您所在的位置:网站首页 › or如何使用 › MybatisPlus QueryWrapper and or 连用 |
QueryWrapper userWrapper = new QueryWrapper();
String type = (String) map.get("type");
if(StringUtils.isNotBlank(type)) {
userWrapper.eq("is_admin", "admin".equals(type) ? true : false);
}
String keys = (String) map.get("key");
if(StringUtils.isNotBlank(keys)) {
userWrapper.and(wrapper -> wrapper.like("login_name", keys).or().like("tel", keys).or().like("email", keys));
}
控制台sql打印为: SELECT id, login_name AS loginName, nick_name AS nickName, password, salt, tel, email, locked, is_admin AS adminUser, icon, create_by AS createId, create_date AS createDate, update_by AS updateId, update_date AS updateDate, del_flag AS delFlag, remarks FROM sys_user WHERE is_admin = 0 AND ( login_name LIKE '%j%' OR tel LIKE '%j%' OR email LIKE '%j%' )切记不能丢了and userWrapper.like("login_name", keys).or().like("tel", keys).or().like("email", keys) userWrapper.eq("is_admin", "admin".equals(type) ? true : false);这个条件是不带括号的 WHERE is_admin = 0 AND login_name LIKE '%j%' OR tel LIKE '%j%' OR email LIKE '%j%' or(Function func), and(Function func) 会为func返回的条件添加括号 or(sql...) and(...)
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |