大家好,又见面了,我是你们的朋友全栈君。
@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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136974.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...