逻辑删除(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)。 - 逻辑删除不会物理移除记录,如果需要彻底删除请慎重使用。