mybatis-plus-QueryWrapper 如何写or效果的语句 以及如何给or加括号

   先说想要的结果

  希望mybatis-plus中QueryWrapper写法生成的sql语句中查询条件是 WHERE (( (LOGIN_ID = ? OR SHI_JI_LOGIN_ID = ?) ) AND START_YEAR = ?)  红色部分加一个括号

 

  第一次尝试

        QueryWrapper<KjProjectList> queryWrapper = new QueryWrapper<>();
        queryWrapper .eq("LOGIN_ID", "admin");
        queryWrapper .or().eq("SHI_JI_LOGIN_ID", "admin"); 
        queryWrapper .eq("START_YEAR","2016");

这样写出来的where 条件是:WHERE ( LOGIN_ID = ? OR SHI_JI_LOGIN_ID = ? AND START_YEAR = ?)  并没有在希望的地方增加一个括号

最终写法

        QueryWrapper<KjProjectList> queryWrapper = new QueryWrapper<>();
        queryWrapper .and((wrapper) -> {
            wrapper.eq("LOGIN_ID", "admin").or().eq("SHI_JI_LOGIN_ID", "admin");
        });
        queryWrapper .eq("START_YEAR","2016");

好成了where条件变成了:WHERE (( (LOGIN_ID = ? OR SHI_JI_LOGIN_ID = ?) ) AND START_YEAR = ?)  虽然多加了一个括号但是期望的效果达到了。

 

资源丰富的的网盘资源:网盘资源大全! 推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!
posted @   万笑佛  阅读(10467)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示