四、@TableLogic
1、邏輯刪除
- 物理刪除:真實刪除,將對應數據從數據庫中刪除,之后查詢不到此條被刪除的數據
- 邏輯刪除:假刪除,將對應數據中代表是否被刪除字段的狀態修改為“被刪除狀態”,之后在數據庫中仍舊能看到此條數據記錄
使用場景:可以進行數據恢復
2、實現邏輯刪除
- step1:數據庫中創建邏輯刪除狀態列
- step2:實體類中添加邏輯刪除屬性
@TableLogic
@TableField(value = "is_deleted")
private Integer deleted;
3、測試
- 測試刪除:刪除功能被轉變為更新功能
-- 實際執行的SQL
update user set is_deleted=1 where id = 1 and is_deleted=0
- 測試查詢:被邏輯刪除的數據默認不會被查詢
-- 實際執行的SQL
select id,name,is_deleted from user where is_deleted=0