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