javascript
Spring Boot——MyBatis配置带下划线命名的字段自动转换驼峰命名解决方案
問題描述
MyBatis無法查詢出屬性名和數據庫字段名不完全相同的數據。
即:屬性名和數據庫字段名分別為駝峰命名和下劃線命名時查出的數據為NULL。
問題分析
MyBatis默認是屬性名和數據庫字段名一一對應的,即?
數據庫表列:user_name?
實體類屬性:user_name
但是java中一般使用駝峰命名?
數據庫表列:user_name?
實體類屬性:userName
解決方案
在Spring Boot中,可以通過設置map-underscore-to-camel-case屬性為true來開啟駝峰功能。??
MyBatis配置:?
application.properties中:?
#開啟駝峰命名轉換 mybatis.configuration.map-underscore-to-camel-case=trueapplication.yml中:?
mybatis:configuration:map-underscore-to-camel-case: true?使用該配置可以讓MyBatis自動將SQL中查出來的帶下劃線命名的字段,自動轉換為駝峰命名,再去匹配類中的屬性。?
例:
@Select("select phone_num,card_num from xxx where id=#{id}") public User getUserInfo(String id);查出來的結果,會被自動轉換成phoneNum和cardNum,再和結果類(這里就是User?)中的屬性進行匹配。?
教學視頻
DEBUG過程【大概40分鐘以后】:https://www.bilibili.com/video/av65117012/?p=23
參考文章
https://segmentfault.com/a/1190000010240142?
https://www.cnblogs.com/leeego-123/p/10725012.html
https://blog.csdn.net/weixin_41758407/article/details/90722718
總結
以上是生活随笔為你收集整理的Spring Boot——MyBatis配置带下划线命名的字段自动转换驼峰命名解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot——基于OkHTT
- 下一篇: Spring Boot + Intell