springboot整合mybatis Plus實現邏輯刪除功能
阿新 • • 發佈:2021-01-27
注意:mybatis plus實現邏輯刪除以後,如果想要查詢出已經刪除的資料的話,必須要在mapper.xml中自己手寫查詢已刪除的資料sql
1: 資料庫表中增加deleted欄位,(這塊可以給deleted欄位預設值是0,也可以用@TableField(fill=FieldFill.INSERT) 自動填充實現新增預設為0,兩者選其一)
2:在實體類中給deleted 屬性加上 @TableLogic 註解
3:在配置中加入邏輯刪除外掛
/** * 虛擬刪除外掛 * @return */ @Bean public ISqlInjector sqlInjector() { return new LogicSqlInjector(); }
4:在application.properties中加入如下, (注:此段可加可不加,因為預設就是這樣的)
#預設已刪除的value值1
mybatis-plus.global-config.db-config.logic-delete-value=1
#預設未刪除的value值0
mybatis-plus.global-config.db-config.logic-not-delete-value=0
5:測試刪除一條資料以後,表中的deleted的欄位變為1了,並且後續用的mybatis plus的查詢的功能是不會查詢到已刪除的資料,
如果想查詢已刪除的資料,那麼只能在mapper.xml中手寫查詢sql了,這也算mybatis Plus實現虛擬刪除後的一個缺點吧