1. 程式人生 > 其它 >springboot整合mybatis Plus實現邏輯刪除功能

springboot整合mybatis Plus實現邏輯刪除功能

技術標籤:ideajavasql

注意: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實現虛擬刪除後的一個缺點吧