Skip to content

@LogicDelete 逻辑删除注解

逻辑删除注解,让删除变成修改,就是伪删除

属性说明

属性是否可空默认值说明
beforeValue删除前的值,无法设置动态值,空时表示 初始值为NULL
afterValue删除后的值,可设置动态值,动态值格式为 {key} 例如:当前时间-
deleteTimeField删除时间字段,支持 Date LocalDateTime,Int(秒),Long(毫秒)

逻辑删除额外字段填充

需要设置逻辑删除拦截,update操作对象进行操作,例如

    //项目启动时设置
    XbatisGlobalConfig.setLogicDeleteInterceptor((entity, update) -> {
        //设置操作人 123
        update.set(update.$(entity, "deleteUserId"), 123);
    });

使用示例

java
@Data
@Table
public class LogicDeleteEntity {

    @TableId
    private Long id;

    private String name;

    private LocalDateTime deleteTime;

    @LogicDelete(beforeValue = "0", afterValue = "1", deleteTimeField = "deleteTime")
    private Byte deleted;

}