物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
逻辑删除:假删除,将对应数据中代表是否被删除字段状态修改为“被删除状态”,数据库中仍保留此条数据
步骤
1)deleted属性上添加@TableLogic
@TableLogic @TableField(fill = FieldFill.INSERT) private int deleted;
2) 使用自动填充功能使新增数据时deleted值为0
public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("updateTime", new Date(), metaObject); this.setFieldValByName("version", 1, metaObject); this.setFieldValByName("deleted", 0, metaObject); }
3) 注册插件
@Bean public ISqlInjector sqlInjector() { return new LogicSqlInjector(); }
相关配置信息(application.properties)
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
如果和以上默认一致,则可以不用添加
原文:https://www.cnblogs.com/pikachu511/p/14459903.html