Mybatis Plus not exists 用法(超详细)
前言
大家好,我是小哈。
本小节中讲解如何通过 Mybatis Plus 中的 Wrapper 组装 SQL 从而实现 not exists
语句。
方法
Wrapper 条件构造器中 not exists
相关的方法如下:
notExists(String notExistsSql)
notExists(boolean condition, String notExistsSql)
参数说明:
condition
: 是否组装条件;
代码示例
notExists
方法是父类 AbstractWrapper
(抽象类)中定义的方法,子类 QueryWrapper
、LambdaQueryWrapper
、UpdateWrapper
、LambdaUpdateWrapper
均可调用,以下使用 QueryWrapper
以及 Lambda 形式来演示:
// 组装查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notExists("select id from user where age = 20");
// 实际执行 SQL : SELECT id,name,age,gender FROM user WHERE (NOT EXISTS (select id from user where age = 20))
List<User> users = userMapper.selectList(wrapper);
Lambda 形式:
// 实际执行 SQL : SELECT id,name,age,gender FROM user WHERE (NOT EXISTS (select id from user where age = 20))
List<User> users1 = userMapper.selectList(new QueryWrapper<User>()
.lambda().notExists("select id from user where age = 20"));