mybatis plus骚操作之逻辑删除
生活随笔
收集整理的這篇文章主要介紹了
mybatis plus骚操作之逻辑删除
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
介紹
📝 說明:
- 插入: 不作限制
- 查找: 追加where條件過濾掉已刪除數(shù)據(jù),且使用 wrapper.entity 生成的where條件會忽略該字段
- 更新: 追加where條件防止更新到已刪除數(shù)據(jù),且使用 wrapper.entity 生成的where條件會忽略該字段 - 刪除: 轉(zhuǎn)變?yōu)楦?/li>
📝例如:
- 刪除: update user set deleted=1 where id = 1 and deleted=0
- 查找: select id,name,deleted from user where deleted=0
📝字段類型支持說明:
- 支持所有數(shù)據(jù)類型(推薦使用 Integer,Boolean,LocalDateTime)
- 如果數(shù)據(jù)庫字段使用datetime,邏輯未刪除值和已刪除值支持配置為字符串null,另一個值支持配置為函數(shù)來獲取值如now()
📝附錄:
- 邏輯刪除是為了方便數(shù)據(jù)恢復(fù)和保護(hù)數(shù)據(jù)本身價值等等的一種方案,但實際就是刪除。
- 如果你需要頻繁查出來看就不應(yīng)使用邏輯刪除,而是以一個狀態(tài)去表示。
使用方法
📝步驟1 全局配置application.yml
mybatis-plus:global-config:db-config:logic-delete-field: flag # 全局邏輯刪除的實體字段名(since 3.3.0,配置后可以忽略不配置步驟2)logic-delete-value: 1 # 邏輯已刪除值(默認(rèn)為 1)logic-not-delete-value: 0 # 邏輯未刪除值(默認(rèn)為 0)📝步驟2: 實體類字段上加上@TableLogic注解
@TableLogic private Integer deleted;步驟3:在數(shù)據(jù)庫表中增加字段deleted
測試一波
- 執(zhí)行刪除,數(shù)據(jù)庫中的deleted字段值變?yōu)闉?,表示已刪除。
- 查詢的時候,deleted=0作為查詢條件,deleted=1不會被查出類。
總結(jié)
📖
欲知后事如何,請聽下回分解總結(jié)
以上是生活随笔為你收集整理的mybatis plus骚操作之逻辑删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机安装centos
- 下一篇: 小程序开发(10)-之热力图解决方案、手