Mybatis使用update更新值為null時不生效問題解決
該文章純屬記錄使用過程中遇到的問題更新null值沒有生效的問題解決辦法,內(nèi)容較為簡單。
1.出現(xiàn)的問題
前端修改數(shù)據(jù)時把屬性內(nèi)容刪除然后進行保存,默認(rèn)傳的null,后端更新時屬性值為null,然后調(diào)用updateById進行更新時發(fā)現(xiàn)該屬性還是原來的值:
name:"tt";
//前端頁面把該屬性內(nèi)容進行刪除傳給我后端
{
name: null
}
//后端接收到的
name: null
//使用該方法進行更新
updateById();
//結(jié)果name還是等于更新前的值
name: "tt";后面百度發(fā)現(xiàn)該update方法不會對屬性null的進行更新
2.原因
mybatis-plus FieldStrategy 有三種策略:
- IGNORED:忽略
- NOT_NULL:非 NULL,默認(rèn)策略
- NOT_EMPTY:非空
默認(rèn)非空,所有更新時不生效的問題
3.解決方法
①設(shè)置全局的field-strategy

這樣全局配置會把所有的屬性都忽略,對于一些不需要改的屬性可能會影響業(yè)務(wù)的準(zhǔn)確性。
②給單獨的屬性設(shè)置field-strategy
根據(jù)實際應(yīng)用情況對某些屬性增加該注解來忽略策略
@TableField(strategy=FieldStrategy.IGNORED)

這樣增加該注解的屬性就可以使用updateById()方法進行更新null值。
------當(dāng)然還有其他的好的方法也可以去參考
到此這篇關(guān)于Mybatis使用update更新值為null時不生效的文章就介紹到這了,更多相關(guān)Mybatis使用update更新值為null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring+SpringMVC+Hibernate整合實例講解
在本篇文章里小編給大家整理的是關(guān)于Spring+SpringMVC+Hibernate整合實例講解,需要的朋友們可以學(xué)習(xí)下。2020-03-03
Spring 環(huán)境下實現(xiàn)策略模式的示例
這篇文章主要介紹了Spring 環(huán)境下實現(xiàn)策略模式的示例,幫助大家更好的理解和使用spring框架,感興趣的朋友可以了解下2020-10-10
DOM解析XML報錯Content is not allowed in prolog解決方案詳解
這篇文章主要介紹了DOM解析XML報錯解決方案詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
SpringBoot集成XXL-JOB實現(xiàn)任務(wù)管理全流程
XXL-JOB 是一款輕量級分布式任務(wù)調(diào)度平臺,功能豐富、界面簡潔、易于擴展,本文介紹如何通過 Spring Boot 項目,使用 RestTemplate 和 Feign 的方式調(diào)用 XXL-JOB 后臺管理接口,實現(xiàn)任務(wù)的全生命周期管理,需要的朋友可以參考下2025-08-08
Java從零編寫吃貨聯(lián)盟訂餐系統(tǒng)全程講解
這篇文章主要介紹了Java訂餐系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-12-12
基于自定義BufferedReader中的read和readLine方法
下面小編就為大家分享一篇基于自定義BufferedReader中的read和readLine方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空
SpringBoot整合Mybatis-plus使用關(guān)鍵詞模糊查詢的時候,數(shù)據(jù)庫中有數(shù)據(jù),但是無法查找出來,本文就來介紹一下SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空的解決方法2025-04-04

