選單

@TableLogic,你知道幹什麼用的嗎

今天在做邏輯刪除的時候, 有一個實體類,對應的表中某個欄位,有預設值。

此時,透過傳入實體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 ( ? )

是不是又學到了。。。’