国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

MyBatis-Plus 擴(kuò)展-邏輯刪除

2022-03-25 13:48 更新

說(shuō)明:

只對(duì)自動(dòng)注入的 sql 起效:

  • 插入: 不作限制
  • 查找: 追加 ?where條件過(guò)濾掉已刪除數(shù)據(jù),且使用 ?wrapper.entity? 生成的 where 條件會(huì)忽略該字段
  • 更新: 追加 ?where條件防止更新到已刪除數(shù)據(jù),且使用 wrapper.entity 生成的 where 條件會(huì)忽略該字段
  • 刪除: 轉(zhuǎn)變?yōu)?nbsp;更新

例如:

  • 刪除: ?update user set deleted=1 where id = 1 and deleted=0 ?
  • 查找: ?select id,name,deleted from user where deleted=0 ?

字段類(lèi)型支持說(shuō)明:

  • 支持所有數(shù)據(jù)類(lèi)型(推薦使用 ?Integer?,?Boolean?,?LocalDateTime?)
  • 如果數(shù)據(jù)庫(kù)字段使用?datetime?,邏輯未刪除值和已刪除值支持配置為字符串?null?,另一個(gè)值支持配置為函數(shù)來(lái)獲取值如?now() ?

附錄:

  • 邏輯刪除是為了方便數(shù)據(jù)恢復(fù)和保護(hù)數(shù)據(jù)本身價(jià)值等等的一種方案,但實(shí)際就是刪除。
  • 如果你需要頻繁查出來(lái)看就不應(yīng)使用邏輯刪除,而是以一個(gè)狀態(tài)去表示。

使用方法

步驟 1

  • 配置?com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig?

例如: ?application.yml?

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: flag # 全局邏輯刪除的實(shí)體字段名(since 3.3.0,配置后可以忽略不配置步驟2)
      logic-delete-value: 1 # 邏輯已刪除值(默認(rèn)為 1)
      logic-not-delete-value: 0 # 邏輯未刪除值(默認(rèn)為 0)

步驟 2

  • 實(shí)體類(lèi)字段上加上?@TableLogic?注解
@TableLogic
private Integer deleted;

常見(jiàn)問(wèn)題

1. 如何 insert ?

  • 字段在數(shù)據(jù)庫(kù)定義默認(rèn)值(推薦)
  • ?insert前自己 ?set
  • 使用 自動(dòng)填充功能

2. 刪除接口自動(dòng)填充功能失效

  • 使用 ?update方法并: ?UpdateWrapper.set(column, value)?(推薦)
  • 使用 ?update方法并: ?UpdateWrapper.setSql("column=value") ?
  • 使用 Sql 注入器 注入 ?com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteByIdWithFill? 并使用(推薦)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)