mybatisPlus 逻辑删除方法
时间: 2023-08-13 16:05:39 浏览: 112
MyBatis-Plus提供了逻辑删除的功能,可以通过标记数据的删除状态而不是直接物理删除数据。以下是使用MyBatis-Plus进行逻辑删除的方法:
1. 在数据库表中添加一个表示删除状态的字段,例如`is_deleted`或`deleted`,通常使用整数类型(0表示未删除,1表示已删除)或布尔类型(false表示未删除,true表示已删除)。
2. 在实体类中添加该字段,并使用`@TableLogic`注解标记该字段为逻辑删除字段。例如:
```java
@TableLogic
private Integer isDeleted;
```
或者
```java
@TableLogic
private Boolean deleted;
```
3. 在MyBatis-Plus的配置文件(通常是`application.yml`或`application.properties`)中配置逻辑删除的全局属性,例如:
```yaml
mybatis-plus:
global-config:
db-config:
logic-delete-value: 1 # 逻辑删除值
logic-not-delete-value: 0 # 逻辑未删除值
logic-delete-field: is_deleted # 逻辑删除字段名
```
4. 使用MyBatis-Plus提供的方法进行逻辑删除。例如,可以使用`delete()`方法或`deleteById()`方法进行逻辑删除。被标记为逻辑删除的数据在执行删除操作后,`is_deleted`字段会被更新为逻辑删除值。
```java
// 根据条件进行逻辑删除
int rows = mapper.delete(new QueryWrapper<User>().eq("age", 18));
// 根据主键进行逻辑删除
int rows = mapper.deleteById(1);
```
这样,你就可以使用MyBatis-Plus的逻辑删除功能来处理数据的软删除需求了。
阅读全文