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)文章
詳解JDK中ExecutorService與Callable和Future對(duì)線程的支持
這篇文章主要介紹了詳解JDK中ExecutorService與Callable和Future對(duì)線程的支持的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
AbstractQueuedSynchronizer(AQS)鎖狀態(tài)同步和排隊(duì)管理
這篇文章主要介紹了為大家AbstractQueuedSynchronizer(AQS)鎖狀態(tài)同步和排隊(duì)管理源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
SpringBoot?2.x?接入非標(biāo)準(zhǔn)SSE格式大模型流式響應(yīng)的實(shí)戰(zhàn)解決方案
本文介紹了在SpringBoot2.7.3環(huán)境中接入非標(biāo)準(zhǔn)SSE格式大模型流式響應(yīng)的實(shí)戰(zhàn)解決方案,通過自定義實(shí)現(xiàn),解決了大模型返回?cái)?shù)據(jù)格式不符合標(biāo)準(zhǔn)SSE規(guī)范的問題,關(guān)鍵步驟包括引入Gradle依賴、配置WebClient、處理粘包、格式兼容和雙重過濾機(jī)制,感興趣的朋友跟隨小編一起看看吧2025-02-02
Java實(shí)現(xiàn)可視化走迷宮小游戲的示例代碼
這篇文章主要介紹了Java如何實(shí)現(xiàn)可視化走迷宮小游戲。本程序適用于java程序員鞏固類與對(duì)象、文件讀取、事件響應(yīng)、awt包中各種工具的相關(guān)概念以及對(duì)邏輯能力的鍛煉,需要的可以參考一下2022-11-11
mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過程淺析
這篇文章主要介紹了mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過程淺析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

