Skip to content

逻辑删除(Logical Delete)

MyBatis-Plus 支持逻辑删除,通过在实体字段上使用 @TableLogic 注解实现,替代物理删除以便保留历史数据。

使用示例

java
@TableLogic
private Integer deleted;

默认情况下,MyBatis-Plus 会将 deleted 字段值为 1 视为已删除,0 视为未删除。可在配置中自定义删除值:

yaml
mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0

注意

  • 查询时默认会自动过滤掉已删除的数据(除非显式使用 withDeleted)。
  • 逻辑删除不会物理移除记录,如果需要彻底删除请慎重使用。