QueryWrapper中的notExists
时间: 2023-08-17 11:07:19 浏览: 129
QueryWrapper中的notExists方法用于在SQL查询中添加一个not exists的条件。它可以用于查找不存在于子查询结果中的数据。
在使用QueryWrapper时,可以使用notExists方法来构建一个not exists的条件。示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.notExists("SELECT 1 FROM user_address WHERE user_address.user_id = user.id");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,使用了QueryWrapper的notExists方法来添加一个not exists条件。子查询中的逻辑是查找user_address表中与user表关联的数据,如果不存在则返回true。
注意,这只是一个示例代码,实际使用时需要根据具体的业务需求进行调整。
相关问题
querywrapper包含
queryWrapper包含了一系列方法,用于构建查询条件。这些方法包括:
- lt():小于
- le():小于等于
- gt():大于
- ge():大于等于
- eq():等于
- ne():不等于
- between():在某个范围内
- notBetween():不在某个范围内
- like():模糊查询匹配值
- notLike():模糊查询不匹配值
- likeLeft():模糊查询匹配最后一位值
- likeRight():模糊查询匹配第一位值
- isNull():值为空或null
- isNotNull():值不为空或null
- in():符合多个条件的值
- notIn():不符合多个条件的值
- or():或者
- and():和
- orderByAsc():根据属性升序排序
- orderByDesc():根据属性降序排序
- inSql():符合SQL语句的值
- notInSql():不符合SQL语句的值
- exists():查询符合SQL语句的值
- notExists():查询不符合SQL语句的值
querywrapper 用法
QueryWrapper是MyBatis-Plus框架中的一个查询构造器,用于构建SQL查询条件。它提供了一系列的方法来灵活地构建查询条件。
在给定的引用中,有一些常用的QueryWrapper方法示例,比如:
- eq:等于
- ne:不等于
- like:模糊查询
- in:符合多个条件的值
or:或者
- orderByAsc:根据属性升序排序
- orderByDesc:根据属性降序排序
- exists:查询符合SQL语句的值
- notExists:查询不符合SQL语句的值
除了上述示例,你还可以使用其他QueryWrapper方法来构建更复杂的查询条件,如lt(小于)、le(小于等于)、gt(大于)、ge(大于等于)、between(在某个范围内)、notBetween(不在某个范围内)、isNull(为空或null)、isNotNull(不为空或null)等等。
引用中还提供了一个示例,展示了如何使用QueryWrapper来构建包含关键字匹配的多字段查询条件。你可以使用like方法来实现模糊查询,并结合or方法来指定多个字段。例如,如果你想在Documents表中查询包含关键字的手机号、当前公司和当前职位的记录,你可以使用如下代码:
```java
queryWrapper.and(wrapper -> wrapper.like("Mobile", getDocumentListRequest.getKeyword())
.or().like("CurrentCompany", getDocumentListRequest.getKeyword())
.or().like("CurrentPost", getDocumentListRequest.getKeyword()));
```
最后,在引用中还提供了一些示例,展示了如何使用QueryWrapper来实现排序。你可以使用orderByAsc和orderByDesc方法来指定升序和降序排序的属性。例如,以下是两种实现方式:
```java
queryWrapper.orderByDesc("Top").orderByDesc("TopTime").orderByDesc("UpdateTime");
```
或者使用链式调用方式:
```java
queryWrapper.orderByDesc("Top", "TopTime", "UpdateTime");
```
综上所述,QueryWrapper是一个强大的查询构造器,可以帮助你构建复杂的查询条件,并支持排序功能。你可以根据需要使用不同的方法来满足你的查询需求。
阅读全文