mybatisplus查询语句怎么忽略逻辑删除
时间: 2023-08-27 11:36:31 浏览: 278
在 MyBatis-Plus 中,如果你想在查询语句中忽略逻辑删除,需要使用 Wrappers 工具类来构建查询条件。具体来说,你可以使用 Wrappers.lambdaQuery 方法来创建一个 LambdaQueryWrapper 对象,然后调用其 ignoreDeleted 方法来忽略逻辑删除。示例代码如下:
```
List<User> userList = userService.list(Wrappers.<User>lambdaQuery()
.eq(User::getStatus, 1) // 查询状态为1的用户
.ignoreDeleted(true)); // 忽略逻辑删除
```
在这个示例中,我们使用了 lambdaQuery 方法来创建一个 LambdaQueryWrapper 对象,然后调用其 eq 方法来添加查询条件,最后调用 ignoreDeleted 方法来忽略逻辑删除。在 ignoreDeleted 方法中,我们将参数设置为 true,表示要忽略逻辑删除。这样,在查询用户列表时,就可以忽略逻辑删除了。
需要注意的是,ignoreDeleted 方法只对 LambdaQueryWrapper 和 LambdaUpdateWrapper 有效,对其他类型的 Wrapper 无效。如果你使用的是其他类型的 Wrapper,可以通过设置条件构造器的 entity 属性来忽略逻辑删除,示例代码如下:
```
List<User> userList = userService.list(new QueryWrapper<User>()
.eq("status", 1) // 查询状态为1的用户
.apply("is_deleted = 0")); // 忽略逻辑删除
```
在这个示例中,我们使用了 QueryWrapper 来构建查询条件,然后调用其 eq 方法来添加查询条件,最后调用 apply 方法来忽略逻辑删除。在 apply 方法中,我们直接写 SQL 语句来忽略逻辑删除,is_deleted 是逻辑删除的字段。这样,在查询用户列表时,也可以忽略逻辑删除了。
阅读全文