wrapper 并集如何使用
?
https://blog.csdn.net/u011229848/article/details/81902398
?
MybatisPlus QueryWrapper and or 連用
cnsu-cmh?2018-08-21 10:08:03??96287??收藏?26
分類專欄:?MybatisPlus?文章標簽:?MybatisPlus and or 連用?QueryWrapper and
版權
QueryWrapper<User> 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<This, This> func), and(Function<This, This> func) 會為func返回的條件添加括號 or(sql...) and(...)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的wrapper 并集如何使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 校花的贴身高手手游电脑版(校花的贴身高手
- 下一篇: 我终于写出1000赞的微头条:想给新手小