Mybatisplus中出現(xiàn)邏輯刪除失敗的原因有哪些-創(chuàng)新互聯(lián)

本篇文章為大家展示了Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有漢川免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

開發(fā)調(diào)試的時候發(fā)現(xiàn)Mybatis Plus的邏輯刪除失效了,看了下配置文件發(fā)現(xiàn)沒有問題,通過查看以下源碼發(fā)現(xiàn)

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

邏輯刪除需要注入的bean,查看這個bean的源碼如下

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

查看其中一個實例的類的源碼,如通過ID邏輯刪除LogicDeleteById的源碼,如下

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

mp在項目啟動時預加載SQL是通過TableInfo中l(wèi)ogicDelete字段判斷是否開啟邏輯刪除的。然后讓我們來看看mp內(nèi)部是如何判斷是否開啟邏輯刪除的。

先看如下源碼

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

大概就是講實體類中的字段進行循環(huán)映射數(shù)據(jù)庫字段并封裝到TableFieldInfo類中,實體類信息封裝到TableInfo中,在讓我們來看看MP循環(huán)處理字段時候做了什么操作。

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

上圖中的這一行代碼,

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

讓我們看看這行代碼具體做了什么

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

現(xiàn)在已經(jīng)很明確了,mp通過判斷字段上是否有TableLogic注解來判斷該實體類映射的表是否開啟邏輯刪除。但這一步是放到實體類所有的字段列表的循環(huán)中的,當邏輯刪除字段在所有的字段中間而不是末尾的時候,判斷邏輯刪除的表示logicDelete會被覆蓋為false,然后導致解析方法生成聲明的時候判斷為沒有開啟邏輯刪除。

Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些

mp已經(jīng)更新了這個錯誤,在設(shè)置logicDelete時會先判斷原來的刪除標識是否為true,否則保持原來的初始值false。

補充知識:分布式 mybatis-plus 邏輯刪除不生效 升級后org.mybatis.logging.LoggerFactory報錯

解決方案:

第一步:升級mybatisplus版本到3.2.0

第二步:多添加一個擴展包

<dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-extension</artifactId>
        <version>3.2.0</version>
      </dependency>

上述內(nèi)容就是Mybatis plus中出現(xiàn)邏輯刪除失敗的原因有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:Mybatisplus中出現(xiàn)邏輯刪除失敗的原因有哪些-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://bm7419.com/article2/dgdpoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、面包屑導航、網(wǎng)站內(nèi)鏈ChatGPT、微信公眾號靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司