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!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)