mybatisplus怎么取消查询逻辑删除
时间: 2025-02-17 08:21:51 浏览: 262
MyBatisPlus是一个基于MyBatis的ORM框架增强工具,它默认会支持逻辑删除功能,即在数据表中添加了一个标识字段(通常叫作`del_flag`,值为0表示正常,1表示已删除),当需要禁止某个实体在逻辑上被标记为“已删除”时,可以按照以下步骤操作:
1. **移除全局配置**:如果你是在全局启用逻辑删除的,可以在`GlobalConfig`中禁用这个功能。在`Mybatis-plus-boot-starter`的配置文件(如application.yml 或 application.properties)中找到`db-config`部分,将`db-config.mapper-config.enabled-delete-filter`属性设置为`false`。
```yaml
mybatis-plus:
global-config:
db-config:
mapper-config:
enabled-delete-filter: false # 禁用逻辑删除过滤器
```
2. **实体类配置**:在对应的实体类(Entity)中,你可以重写逻辑删除相关的注解,比如 `@TableLogic`。例如,将其移除或修改为不删除:
```java
@TableLogic(logicalDeleteName = "") // 如果不希望使用逻辑删除字段,可以传入空字符串
@Override
protected boolean isDelete() {
return false; // 显式返回false,表示不会被逻辑删除
}
```
3. **数据库查询时排除**:在编写SQL查询时,可以直接通过条件表达式排除逻辑状态为已删除的数据。例如:
```sql
SELECT * FROM table WHERE del_flag = 0 AND other_conditions...
```
记住,在实际应用中,根据需求选择是否需要完全禁用逻辑删除,因为这可能会导致数据管理变得复杂。
阅读全文
相关推荐


















