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

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

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


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


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

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

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

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

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

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

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

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