Skip to main content

逻辑删除

逻辑删除就是基于代码逻辑模拟删除效果,但并不会真正删除数据:

  • 在表中添加一个字段标记数据是否被删除
  • 当删除数据时把标记置为1
  • 查询时只查询标记为0的数据

MybatisPlus提供了逻辑删除功能,无需改变方法调用的方式,而是在底层帮我们自动修改CRUD的语句。需要在application.yaml文件中配置逻辑删除的字段名称和值:

mybatis-plus:
configuration:
map-underscore-to-camel-case: true # 是否开启下划线和驼峰映射
cache-enabled: false # 是否开启二级缓存
global-config:
db-config:
id-type: auto # id为雪花算法生成
update-strategy: not_null # 更新策略:zh
# 新加
logic-delete-field: deleted # 全局逻辑删除的实体字段名称,字段类型可以是boolean、integer
logic-delete-value: 1 # 逻辑已删除值(默认为1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为0)