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

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

