mybatis中@Column注解定義別名不生效問題

今天發(fā)現(xiàn)一個問題,在實(shí)體得一個列jdbcDatasourceId上指定數(shù)據(jù)庫列名@Column(name="datasource_id")不生效。

深入mybatis源碼org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createAutomaticMappings()方法中發(fā)現(xiàn),剛獲取列映射時,是有成功取出來的:


結(jié)果在下面有個會根據(jù)列名按下劃線轉(zhuǎn)駝峰找對應(yīng)屬性名,找不到就就不會添加到映射集合里,這里轉(zhuǎn)完后為datasourceId,自然與jdbcDatasourceId對不上的。


然后會交給AutoMappingUnknownColumnBehavior處理,如果配置了autoMappingUnknownColumnBehavior為WARNING或者FALING就會輸出警告日志:

后來發(fā)現(xiàn)用mybatis如果屬性名和列名差距太大沒啥好辦法,要不只能在對應(yīng)得@Select注解下加Result

@Result(property = "jdbcDatasourceId", column = "datasource_Id")

要不就只能把屬性名改成數(shù)據(jù)庫列名對應(yīng)得駝峰式datasourceId了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,280評論 0 4
  • MyBatis 理論篇 [TOC] 什么是MyBatis ?MyBatis是支持普通SQL查詢,存儲過程和高級映射...
    有_味閱讀 3,186評論 0 26
  • 最近做項(xiàng)目用到springboot整合mybatis,security。將其中遇到的問題做一個總結(jié) 注:本項(xiàng)目全程...
    huoyl0410閱讀 841評論 1 2
  • 連接數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)庫 創(chuàng)建用戶并授權(quán)模式: 數(shù)據(jù)庫的權(quán)限列表 [ 查] select [插] insert [更...
    StrongZhao閱讀 605評論 0 1
  • 不知不覺,PORT營就結(jié)束了,看一起訓(xùn)練的同學(xué)們的作業(yè),實(shí)在慚愧。 一、自己PORT營期間的作業(yè) DAY 01DA...
    泓澄閱讀 374評論 0 0

友情鏈接更多精彩內(nèi)容