mybatisplus 实现用括号括起or条件
·
我需要的语句是这样的效果
select * from SHANGPIN WHERE isnull(tzsy,0) = 0 AND (spdm = '000' OR (spdm <> '000' AND spmc = '测试'))
我们用mybatisplus 直接写这样的话
QueryWrapper<EKehu> wrapper=new QueryWrapper<>();
wrapper.eq("isnull(tzsy,0)",0);
wrapper.eq("spdm","000");
wrapper.or(wp1->wp1.ne("spdm","000").eq("spmc","测试"));
System.out.println(wrapper.getCustomSqlSegment());
显示的效果是这样的,这就不是我想要的效果
我需要用and去将这后面的条件括起来
QueryWrapper<EKehu> wrapper=new QueryWrapper<>();
wrapper.eq("isnull(tzsy,0)",0);
wrapper.and(wp->wp.eq("spdm","000").or(wp1->wp1.ne("spdm","000").eq("spmc","测试")));
System.out.println(wrapper.getCustomSqlSegment());
这样的才是我想要的样子
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)