今天在做邏輯刪除的時候, 有一個實體類,對應的表中某個欄位,有預設值。
此時,透過傳入實體vo, 指定此欄位對應的邏輯刪除值,和目錄唯一ID。
但是,執行結果,出乎我的預料。
Update table1 set update_by=123 where id=111 and status = 0
沒有按照我期望的sql去執行
Update table1 set status = 2 where id = 111 and status = 0
其實,這裡邊原因是這個 @TableLogic註解在作怪。
效果: 在屬性欄位上加@TableLogic註解,使用Mybatis-plus自帶方法刪除。
例子
實體類
@TableLogic(value = “0”, delval = “2” ) private String status;
直接呼叫
removeByIds(ids);
執行效果
UPDATE table1 SET status=‘2’ WHERE id IN ( ? ) AND status=‘0。
如果不加@TableLogic的話
DELETE FROM table1 WHERE id IN ( ? )
是不是又學到了。。。’