LambdaQueryWrapper.notExists
时间: 2023-10-30 19:01:31 浏览: 155
基于SpringBoot+vue的物流管理系统vue部分
LambdaQueryWrapper.notExists是MyBatis-Plus中的一个查询条件构造器方法。它用于在查询时判断某个条件是否不存在于查询结果中。在使用LambdaQueryWrapper.notExists方法时,需要传入一个Lambda表达式,用于描述要判断的条件。LambdaQueryWrapper.notExists方法返回一个LambdaQueryWrapper对象,可以继续链式调用其他查询条件构造器方法。
例如,假设有一个User实体类,有id和name两个字段,我们想查询name为"John"且id不存在于另一个查询结果中的用户,可以使用LambdaQueryWrapper.notExists方法来构造查询条件。
```java
List<User> userList = userMapper.selectList(
new LambdaQueryWrapper<User>()
.eq(User::getName, "John")
.notExists(
new LambdaQueryWrapper<User>()
.select(User::getId)
.eq(User::getName, "Tom")
)
);
```
上述代码中,LambdaQueryWrapper.notExists方法传入了一个LambdaQueryWrapper对象,该对象通过select方法指定了要查询的字段为id,并通过eq方法指定了查询条件为name等于"Tom"。最终,查询的结果是name为"John"且id不在name为"Tom"的用户查询结果中的用户列表。
需要注意的是,LambdaQueryWrapper.notExists方法只能在使用MyBatis-Plus时使用,而不是在使用普通的MyBatis时使用。此外,LambdaQueryWrapper.notExists方法只是MyBatis-Plus中查询条件构造器的一部分,还有其他一些常用的方法,如eq、ne、like等,可以根据具体的需求选择使用。
阅读全文