@TableLogic注解表示逻辑删除
所谓逻辑删除也就是不会删除实际的数据表结构数据,仅仅是对字段进行标记删除数据,具体解释为:
使用@TableLogic注解表示逻辑删除,标注在使用的实体类字段上如下:
@TableLogic
private Integer isDelete;
在以上的字段中进行标注就会出现,
调用BaseMapper的deleteById(id)或者调用IService的removeById(id)时执行的SQL语言脚本变化为:
delete from table where id = 1
转化:
Update table set isDelete = 1 where id = 1
简单来说,就是仅仅是在要进行删除的数据库行数上做个标记,表示数据已经删除了,但是不会修改内容,
主要是为了以后可以进行手动的恢复。
@TableLogic注解中包括两个参数:
@TableLogic(value="原值",delval="改值")
value = "" 未删除的值,默认值为0
delval = "" 删除后的值,默认值为1
也就是将数据库中isDelete的0置为1表示数据已经处在删除状态了。