@TableLogic注解表示逻辑删除

作者: adm 分类: java 发布时间: 2022-06-16

@TableLogic注解表示逻辑删除

效果:在字段上加上这个注解再执行BaseMapper的删除方法时,删除方法会变成修改

场景:
1.实体类中属性加上@TableLogic,

    @TableLogic
    private Integer dataStatus;

2.调用BaseMapper的deleteById(id)或者调用IService的removeById(id)

效果:
没有@TableLogic注解调用deleteById/removeById,直接删除数据。

            SQL:delete from table where id = 1

有注解走Update方法

            SQL:Update table set isDelete = 1 where id = 1
    @TableLogic注解参数
    value = "" 未删除的值,默认值为0
    delval = "" 删除后的值,默认值为1
    @TableLogic(value="原值",delval="改值")

扩展
当使用了@TableLogic注解,调用update方法是并不会将该字段放入修改字段中,而是在条件字段中。即使你给dataStatus赋值也不会修改。

    SQL: Update table set 字段1 = 值1,字段2 = 值2 where id = 1 and data_status = 0

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!