MyBatis-plus與數(shù)據(jù)庫(kù)字段的映射方式
MyBatis-plus實(shí)體和數(shù)據(jù)庫(kù)字段的映射
首先MyBatis-plus默認(rèn)開啟自動(dòng)駝峰命名規(guī)則映射,其實(shí)就是駝峰轉(zhuǎn)為下劃線,例如:
我們的實(shí)體字段為errorMsg,遵循小駝峰命名,MyBatis-plus生成sql語(yǔ)句時(shí)會(huì)默認(rèn)轉(zhuǎn)為error_msg
生成的sql如下:
INSERT INTO log_history ( id, code, error_msg, time ) VALUES ( ?, ?, ?, ? )
很明顯MyBatis-plus默認(rèn)給駝峰命名轉(zhuǎn)成下劃線了;
此時(shí)如果我們數(shù)據(jù)庫(kù)字段是駝峰命名就會(huì)報(bào)錯(cuò),那么如何解決這種問題呢?

方案一
使用MyBatis-plus自帶注解,在實(shí)體類字段名稱上使用@TableField(value = “errorMsg”)這個(gè)注解,value里面對(duì)應(yīng)的是數(shù)據(jù)庫(kù)的具體字段名稱
方案二
關(guān)閉MyBatis-plus的駝峰命名規(guī)則映射,在yml配置文件中添加如下配置
mybatis-plus:
configuration:
map-underscore-to-camel-case: false # 禁止駝峰命名時(shí)自動(dòng)轉(zhuǎn)為下劃線
這樣的話MyBatis-plus就不會(huì)幫我們做自動(dòng)映射了,但是這樣的話會(huì)影響整個(gè)項(xiàng)目的,用的時(shí)候需要注意一下
還有一點(diǎn)需要注意!
數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范優(yōu)先使用蛇形命名法,就是帶下劃線的
數(shù)據(jù)庫(kù)表的字段名應(yīng)該全部用小寫字母命名,禁止出現(xiàn)大寫,如果有大寫需要改為小寫并用下劃線連接,
- 正確示例:error_massage
- 錯(cuò)誤示例:errorMassage
所以,MyBatis-plus默認(rèn)為駝峰轉(zhuǎn)蛇形命名(也就是下劃線)是正確的,只是并不是所有公司的數(shù)據(jù)庫(kù)表的設(shè)計(jì)都是規(guī)范的,比如說我們現(xiàn)在就是駝峰。。。
并不是所有公司的數(shù)據(jù)庫(kù)表的設(shè)計(jì)都是規(guī)范的,比如說我們現(xiàn)在就是駝峰。。。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java遞歸來實(shí)現(xiàn)漢諾塔游戲,注釋詳細(xì)
這篇文章介紹了Java遞歸來實(shí)現(xiàn)漢諾塔游戲的方法,文中的代碼注釋介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
使用Java接收和處理OpenTelemetry數(shù)據(jù)的完整指南
在現(xiàn)代分布式系統(tǒng)中,OpenTelemetry 成為了一種常見的標(biāo)準(zhǔn),用于跟蹤和監(jiān)控應(yīng)用程序的性能和行為,OTLP是 OpenTelemetry 社區(qū)定義的一種數(shù)據(jù)傳輸協(xié)議,文將介紹如何使用 Java 編寫代碼來接收和處理 OTLP 數(shù)據(jù),需要的朋友可以參考下2024-04-04
深入分析Comparable與Comparator及Clonable三個(gè)Java接口
接口不是類,而是對(duì)類的一組需求描述,這些類要遵從接口描述的統(tǒng)一格式進(jìn)行定義,這篇文章主要為大家詳細(xì)介紹了Java的Comparable,Comparator和Cloneable的接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-05-05
SpringBoot根據(jù)目錄結(jié)構(gòu)自動(dòng)配置Url前綴方式
這篇文章主要介紹了SpringBoot根據(jù)目錄結(jié)構(gòu)自動(dòng)配置Url前綴方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解
這篇文章主要介紹了Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解,本文并未全部介紹數(shù)組復(fù)制的幾種方式,僅對(duì)clone和copy的相關(guān)內(nèi)容進(jìn)行了解析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
java輸入時(shí)如何通過回車(enter)來結(jié)束輸入
這篇文章主要介紹了java輸入時(shí)如何通過回車(enter)來結(jié)束輸入,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
JDBC之PreparedStatement類中預(yù)編譯的綜合應(yīng)用解析
SQL 語(yǔ)句被預(yù)編譯并存儲(chǔ)在 PreparedStatement 對(duì)象中。然后可以使用此對(duì)象多次高效地執(zhí)行該語(yǔ)句2013-07-07

