MybatisPlus QueryWrapper and or 连用 您所在的位置:网站首页 or如何使用 MybatisPlus QueryWrapper and or 连用

MybatisPlus QueryWrapper and or 连用

2024-07-03 00:21| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有