在java中使用mybatisplus的查询list时,如何禁用逻辑删除
时间: 2024-11-18 19:17:43 浏览: 1
在MyBatisPlus中,如果你想要在查询List时不考虑逻辑删除的状态(比如软删除),你可以通过配置全局条件或者在特定的查询方法中设置查询策略来实现。这里提供两种常见的做法:
1. **全局配置**:
在`GlobalConfig`里添加一个配置项,关闭逻辑删除的过滤:
```java
@Override
public void globalConfig(GlobalConfiguration config) {
config.setDbColumnUnderLine(true); // 如果你的字段名有下划线,开启这个
config.setLogicDeleteValue(0); // 将逻辑删除值设为0,表示不删除
config.setLogicNotDeleteValue(1); // 或者设为1,表示非删除状态
}
```
2. **查询方法配置**:
对于特定的查询,可以在查询构造器(QueryWrapper)上直接操作,例如:
```java
List<User> users = UserMapper.me().selectList(new QueryWrapper<User>().eq("delete_status", false)); // 假设delete_status字段用于标识是否逻辑删除
```
或者使用`lambda query`的方式:
```java
List<User> users = UserExample.newBuilder()
.disableAutoSetParameter() // 防止自动填充逻辑删除字段
.build()
.example(UserDO::getNotDelete).list(); // 使用UserDO的notDelete属性代替逻辑删除字段
```
记得在上述代码中将`User`替换为你实际的数据模型类名。
阅读全文