mybatisplus逻辑删除自动填充
时间: 2023-08-27 17:19:48 浏览: 244
MybatisPlus常用字段默认值自动填充.docx
MyBatis Plus 可以与逻辑删除和自动填充功能结合使用,以实现在逻辑删除操作时自动填充相应字段的值。
要使用逻辑删除和自动填充功能,需要进行以下几个步骤:
1. 在数据库表中添加一个用于标识逻辑删除的字段,例如 `deleted`,通常为一个整型字段。
2. 在对应的实体类中添加一个用于映射逻辑删除字段的属性,并使用 `@TableLogic` 注解进行标识。
3. 创建一个实现了 `MetaObjectHandler` 接口的类,例如 `MyMetaObjectHandler`。
4. 在 `MyMetaObjectHandler` 类中,重写 `insertFill` 和 `updateFill` 方法,用于自动填充逻辑删除字段的值。
5. 在 MyBatis Plus 的配置文件中,添加配置项 `metaObjectHandler`,指定使用的自定义 `MetaObjectHandler` 实现类。
以下是一个示例:
```java
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class);
this.strictInsertFill(metaObject, "deleted", false, Boolean.class);
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);
}
}
@TableLogic
private Boolean deleted;
```
在上述示例中,`MyMetaObjectHandler` 类中的 `insertFill` 方法会在插入操作时自动填充 `createTime` 和 `deleted` 字段的值,而 `updateFill` 方法会在更新
阅读全文