mybatis-plus踩坑之下劃線駝峰轉(zhuǎn)換方式
問題:對(duì)象中包含下劃線的字段兒查詢不出來
在mybatis-plus中,默認(rèn)開啟了下滑線-駝峰轉(zhuǎn)換
會(huì)把數(shù)據(jù)庫字段中的下劃線自動(dòng)轉(zhuǎn)換成駝峰形式,然后去匹配實(shí)體類對(duì)象的字段
online_num -> onlineNum
如果在一個(gè)實(shí)體類中存在一個(gè)帶下劃線的字段,查詢出來為null
private Integer online_num;
即使用了@TableField()注解去指定映射關(guān)系,查詢結(jié)果也為null
@TableField("online_num")
private Integer online_num;
問題就是出現(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è)問題,你關(guān)了自動(dòng)駝峰轉(zhuǎn)換,所有字段都要通過@TableField()注解去指定映射關(guān)系或者在mapper.xml中指定映射關(guān)系,這樣增加了很多工作量。
所以非必要情況下類字段還是不要用_去命名字段,省得麻煩。
實(shí)在不行,如果一定要用下劃線字段,
看看具體的原因是什么
- ①如果是序列化或者反序列話需要的話,可以用@JsonProperty和@JsonAlias來解決
- ②如果是toString需要,那就重寫一下Object的toString方法
- ③其他情況的話,可以加一個(gè)字段比如a_b,就加一個(gè)aB字段,然后手寫一下a_b字段對(duì)應(yīng)的getter,setter,使它們指向aB字段,如果不想轉(zhuǎn)字段就轉(zhuǎn)對(duì)象,查詢用一個(gè)對(duì)象,然后對(duì)業(yè)務(wù)一個(gè)對(duì)象,查詢出來后就轉(zhuǎn)成業(yè)務(wù)對(duì)象,技巧還是很多滴~~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java8新特性之interface中的static方法和default方法
這篇文章主要介紹了Java8新特性之interface中的static方法和default方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
關(guān)于后綴表達(dá)式的java實(shí)現(xiàn)過程
這篇文章主要介紹了關(guān)于后綴表達(dá)式的java實(shí)現(xiàn)過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問題
這篇文章主要介紹了springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Spring Cloud 配置中心內(nèi)容加密的配置方法
這篇文章主要介紹了Spring Cloud 配置中心內(nèi)容加密的配置方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06
Springboot整合Redis最簡(jiǎn)單例子分享
這篇文章主要介紹了Springboot整合Redis最簡(jiǎn)單例子分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Mybatis的插件運(yùn)行原理及如何編寫一個(gè)插件
這篇文章主要介紹了Mybatis的插件運(yùn)行原理及如何編寫一個(gè)插件 ,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
逆轉(zhuǎn)交替合并兩個(gè)鏈表的解析與實(shí)現(xiàn)
本篇文章主要介紹了將兩個(gè)鏈表逆轉(zhuǎn)交替合并的實(shí)現(xiàn)思路與方法,需要的朋友可以參考下2015-07-07

