Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決
該文章純屬記錄使用過(guò)程中遇到的問(wèn)題更新null值沒(méi)有生效的問(wèn)題解決辦法,內(nèi)容較為簡(jiǎn)單。
1.出現(xiàn)的問(wèn)題
前端修改數(shù)據(jù)時(shí)把屬性內(nèi)容刪除然后進(jìn)行保存,默認(rèn)傳的null,后端更新時(shí)屬性值為null,然后調(diào)用updateById進(jìn)行更新時(shí)發(fā)現(xiàn)該屬性還是原來(lái)的值:
name:"tt"; //前端頁(yè)面把該屬性內(nèi)容進(jìn)行刪除傳給我后端 { name: null } //后端接收到的 name: null //使用該方法進(jìn)行更新 updateById(); //結(jié)果name還是等于更新前的值 name: "tt";
后面百度發(fā)現(xiàn)該update方法不會(huì)對(duì)屬性null的進(jìn)行更新
2.原因
mybatis-plus FieldStrategy 有三種策略:
- IGNORED:忽略
- NOT_NULL:非 NULL,默認(rèn)策略
- NOT_EMPTY:非空
默認(rèn)非空,所有更新時(shí)不生效的問(wèn)題
3.解決方法
①設(shè)置全局的field-strategy
這樣全局配置會(huì)把所有的屬性都忽略,對(duì)于一些不需要改的屬性可能會(huì)影響業(yè)務(wù)的準(zhǔn)確性。
②給單獨(dú)的屬性設(shè)置field-strategy
根據(jù)實(shí)際應(yīng)用情況對(duì)某些屬性增加該注解來(lái)忽略策略
@TableField(strategy=FieldStrategy.IGNORED)
這樣增加該注解的屬性就可以使用updateById()方法進(jìn)行更新null值。
------當(dāng)然還有其他的好的方法也可以去參考
到此這篇關(guān)于Mybatis使用update更新值為null時(shí)不生效的文章就介紹到這了,更多相關(guān)Mybatis使用update更新值為null內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中l(wèi)ambda表達(dá)式的分析與具體用法
這篇文章主要給大家介紹了關(guān)于java中l(wèi)ambda表達(dá)式具體用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Java如何實(shí)現(xiàn)遠(yuǎn)程文件下載到本地目錄
本文介紹了如何使用Java來(lái)實(shí)現(xiàn)遠(yuǎn)程文件的下載功能,主要通過(guò)HTTPS路徑下載文件到本地目錄,詳細(xì)介紹了相關(guān)代碼和測(cè)試步驟,并提供了實(shí)際案例供參考,本文旨在幫助需要實(shí)現(xiàn)文件下載功能的開(kāi)發(fā)者快速掌握核心技術(shù)2024-10-10SpringBoot自動(dòng)配置實(shí)現(xiàn)流程詳細(xì)分析
這篇文章主要介紹了SpringBoot自動(dòng)配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對(duì)SpringBoot實(shí)現(xiàn)自動(dòng)配置做一個(gè)詳細(xì)的介紹。如果可以的話,能不能畫(huà)一下實(shí)現(xiàn)自動(dòng)配置的流程圖。牽扯到哪些關(guān)鍵類(lèi),以及哪些關(guān)鍵點(diǎn)2022-12-12Netty分布式ByteBuf使用SocketChannel讀取數(shù)據(jù)過(guò)程剖析
這篇文章主要為大家介紹了Netty源碼分析ByteBuf使用SocketChannel讀取數(shù)據(jù)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解
這篇文章主要介紹了mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java while(scanner.hasNext())無(wú)法跳出的解決方案
這篇文章主要介紹了Java while(scanner.hasNext())無(wú)法跳出的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java的Hibernate框架中的組合映射學(xué)習(xí)教程
組合映射即是指主對(duì)象和子對(duì)象關(guān)聯(lián)且擁有相同的生命周期的映射關(guān)系,這里我們將舉一些數(shù)據(jù)操作的實(shí)例,來(lái)講解Java的Hibernate框架中的組合映射學(xué)習(xí)教程2016-07-07JavaWeb搭建網(wǎng)上圖書(shū)商城畢業(yè)設(shè)計(jì)
這篇文章主要介紹了JavaWeb搭建網(wǎng)上圖書(shū)商城框架,特別適合正在為網(wǎng)上商城畢業(yè)設(shè)計(jì)煩惱的同學(xué),需要的朋友可以參考下2015-11-11SkyWalking?自定義插件(Spring?RabbitMQ)具體分析過(guò)程
這篇文章主要介紹了SkyWalking?自定義插件(Spring?RabbitMQ)具體分析過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02