mybatis配置逻辑删除
时间: 2025-06-29 09:21:33 浏览: 12
### 配置MyBatis Plus逻辑删除
在MyBatis Plus中配置逻辑删除功能涉及多个方面,包括但不限于实体类、数据库表结构以及应用程序的配置文件。
#### 实体类配置
为了使某个字段成为逻辑删除标志位,在对应的Java实体类中需指定该属性,并利用`@TableLogic`注解标记此字段为逻辑删除字段[^1]:
```java
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
// ... other imports ...
@TableLogic(value = "0", delval = "1") // 默认未删除状态为0, 删除后的值为1
private Integer deleted;
```
这里定义了一个名为`deleted`的整型变量作为逻辑删除标识符,默认情况下其值设为0代表数据处于正常状态;当执行删除操作时,则更新为此处设定的delval即变为1表明已被逻辑上移除。
#### 数据库表设计
对于存储这些对象的数据表而言,应该有一个专门用于指示某条记录是否被“软删”的列。通常命名为`is_deleted`, `status` 或者直接叫作`deleted`等名称均可接受,只要确保它能与应用层面上所使用的实体属性相匹配即可[^2]。
#### 应用程序配置
最后一步是在项目的配置文件里声明有关逻辑删除的相关参数。如果采用Spring Boot项目的话,那么可以在`application.yml`或`.properties`形式的应用级资源配置文档内加入如下所示的内容来完成全局性的设置[^3]:
```yaml
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
global-config:
db-config:
id-type: auto
logic-delete-value: 1 # 表示已删除的状态码
logic-not-delete-value: 0 # 表示未删除的状态码
```
以上就是关于怎样在MyBatis Plus框架下启用并自定义逻辑删除特性的介绍。通过上述三方面的调整——实体映射标注、数据库模式规划还有软件环境搭建上的安排——便能够顺利实现在不真正清除任何实际存在的行的前提下模拟出一种看似已经清除了某些特定项的效果。
阅读全文
相关推荐




















