mybatisplus下劃線(xiàn)駝峰轉(zhuǎn)換的問(wèn)題解決
問(wèn)題兒:對(duì)象中包含下劃線(xiàn)的字段兒查詢(xún)不出來(lái)
在mybatis-plus
中,默認(rèn)開(kāi)啟了下滑線(xiàn)-駝峰
轉(zhuǎn)換
會(huì)把數(shù)據(jù)庫(kù)字段中的下劃線(xiàn)自動(dòng)轉(zhuǎn)換成駝峰形式,然后去匹配實(shí)體類(lèi)對(duì)象的字段
online_num -> onlineNum
如果在一個(gè)實(shí)體類(lèi)中存在一個(gè)帶下劃線(xiàn)的字段,查詢(xún)出來(lái)為null
private Integer online_num;
即使用了@TableField()
注解去指定映射關(guān)系,查詢(xún)結(jié)果也為null
@TableField("online_num") private Integer online_num;
問(wèn)題就是出現(xiàn)在了駝峰轉(zhuǎn)換這里,因?yàn)橐呀?jīng)指明了映射關(guān)系,所以把駝峰轉(zhuǎn)換關(guān)掉就行:yml:
mybatis-plus: configuration: map-underscore-to-camel-case: false
properties:
mybatis-plus.configuration.map-underscore-to-camel-case=false
但是這里有個(gè)問(wèn)題,你關(guān)了自動(dòng)駝峰轉(zhuǎn)換,所有字段都要通過(guò)@TableField()
注解去指定映射關(guān)系或者在mapper.xml
中指定映射關(guān)系,這樣增加了很多工作量。所以非必要情況下類(lèi)字段還是不要用_
去命名字段,省得麻煩。
實(shí)在不行,如果一定要用下劃線(xiàn)字段,看看具體的原因是什么:
①如果是序列化或者反序列話(huà)需要的話(huà),可以用@JsonProperty和@JsonAlias來(lái)解決
②如果是toString需要,那就重寫(xiě)一下Object的toString方法
③其他情況的話(huà),可以加一個(gè)字段比如a_b,就加一個(gè)aB字段,然后手寫(xiě)一下a_b字段對(duì)應(yīng)的getter,setter,使它們指向aB字段,如果不想轉(zhuǎn)字段就轉(zhuǎn)對(duì)象,查詢(xún)用一個(gè)對(duì)象,然后對(duì)業(yè)務(wù)一個(gè)對(duì)象,查詢(xún)出來(lái)后就轉(zhuǎn)成業(yè)務(wù)對(duì)象,奇技淫巧還是很多滴~
到此這篇關(guān)于mybatisplus下劃線(xiàn)駝峰轉(zhuǎn)換的問(wèn)題解決的文章就介紹到這了,更多相關(guān)mybatisplus下劃線(xiàn)駝峰轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java打印星號(hào)圖案和數(shù)字圖案的示例代碼
在 Java 中打印圖案是一項(xiàng)常見(jiàn)的編程任務(wù),尤其在初學(xué)階段,通過(guò)以特定方式排列符號(hào)或數(shù)字,可以形成各種設(shè)計(jì)或形狀,這些圖案不僅有助于解決問(wèn)題,還能培養(yǎng)算法思維能力,本文將討論如何在 Java 中打印圖案,并探索一些最常見(jiàn)的圖案類(lèi)型,需要的朋友可以參考下2024-11-11SpringBoot使用token簡(jiǎn)單鑒權(quán)的具體實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot使用token簡(jiǎn)單鑒權(quán)的具體實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11SpringBoot實(shí)現(xiàn)自定義指標(biāo)監(jiān)控功能
本文主要介紹了SpringBoot實(shí)現(xiàn)自定義指標(biāo)監(jiān)控功能的實(shí)現(xiàn),,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的小伙伴跟著著小編來(lái)一起來(lái)學(xué)習(xí)吧2024-01-01帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之哈希表
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之哈希表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01IntelliJ?idea報(bào)junit?no?tasks?available問(wèn)題的解決辦法
這篇文章主要給大家介紹了關(guān)于IntelliJ?idea報(bào)junit?no?tasks?available問(wèn)題的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11Spring?Boot?多數(shù)據(jù)源處理事務(wù)的思路詳解
這篇文章主要介紹了Spring?Boot?多數(shù)據(jù)源如何處理事務(wù),本文單純就是技術(shù)探討,要從實(shí)際應(yīng)用中來(lái)說(shuō)的話(huà),我并不建議這樣去玩分布式事務(wù)、也不建議這樣去玩多數(shù)據(jù)源,畢竟分布式事務(wù)主要還是用在微服務(wù)場(chǎng)景下,對(duì)Spring?Boot?多數(shù)據(jù)源事務(wù)相關(guān)知識(shí)感興趣的朋友參考下本文2022-06-06基于Jasypt對(duì)SpringBoot配置文件加密
這篇文章主要介紹了基于Jasypt對(duì)SpringBoot配置文件加密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Python學(xué)習(xí)之書(shū)寫(xiě)格式及變量命名
這篇文章我們給大家總結(jié)了關(guān)于Python書(shū)寫(xiě)格式及變量命名,小編覺(jué)得這篇文章寫(xiě)的還不錯(cuò),有興趣的朋友跟著參考學(xué)習(xí)下,希望能夠給你帶來(lái)幫助2021-10-10Java中IO流之字符流與字節(jié)流的轉(zhuǎn)換方式
在Java中,字節(jié)流與字符流是處理數(shù)據(jù)的兩種方式,字節(jié)流適用于處理各種數(shù)據(jù)類(lèi)型,如圖片、音頻等非文本數(shù)據(jù),而字符流專(zhuān)門(mén)用于處理文本數(shù)據(jù),Java提供了InputStreamReader和OutputStreamWriter這兩個(gè)類(lèi)來(lái)實(shí)現(xiàn)字節(jié)流向字符流的轉(zhuǎn)換2024-10-10