Mysql查詢?nèi)e名報錯

一候衍、問題背景

查詢語句sql:"select b.city_unit_name as disposeunitname,a.city_event_src_name as eventsrcname from to_stat_info t,to_trans_event_src a,to_trans_unit b where t.event_src_name=a.event_src_name and t.dispose_unit_name = b.unit_name"
查詢mysql中顯示信息正常


image

通過程序?qū)⒉樵兊臄?shù)據(jù)信息轉(zhuǎn)換成Java類時障本,類中的屬性全部都是null


image

二颓影、問題探索

通過mysql中查出來的信息妨托,應(yīng)該會將字段信息映射到Java類的屬性中,但是好像并不是這么回事朱沃,只有深入到源碼中查詢一下問題所在髓霞,如下圖


image

代碼中是通過DAORowMapper類將mysql中查詢的字段信息映射到Java類的屬性中,繼續(xù)深入了解這個類


image

繼續(xù)向下看這個方法瘦锹,下圖中標(biāo)出了關(guān)鍵的地方籍嘹,為什么沒有執(zhí)行類中的setter方法


image

繼續(xù)向下查看,就是通過反射將查詢出的字段信息set到映射類的屬性中
image

目前將字段信息映射到Java類中屬性的關(guān)鍵代碼地址找到了弯院,debugger查看name值為"city_unit_name"并不是as之后的別名"disposeunitname"


image

繼續(xù)深入發(fā)現(xiàn)這邊有一個判斷邏輯辱士,通過useOldAliasBehavior走哪個業(yè)務(wù)邏輯,默認(rèn)為false听绳,通過getNameNoAliases方法獲取字段名


image

查看該方法得知獲取的字段名是originalName


image

debug得知ResultSetMetaData類的內(nèi)部屬性信息
image

從上面截圖中發(fā)信name是我們需要獲取的字段別名颂碘,查看下圖 我們應(yīng)該走上面的判斷邏輯通過this.getField(column).getName()
獲取字段別名,因此需要將useOldAliasBehavior設(shè)置為true


image

三椅挣、問題解決

通過查詢mysql的相關(guān)資料得知獲取字段的別名有兩種方法头岔,

image

一種通過方法ResultSetMetaData.getColumnLabel(),如下圖


image

第二種是配置useOldAliasMetadataBehavior值為true鼠证,通過ResultSetMetaData.getColumnName()獲取峡竣,該字段是通過數(shù)據(jù)庫屬性url來進(jìn)行配置的,通過下面的配置可以將該字段賦值為true

jdbc.url=jdbc:mysql://localhost:3306/egovastat?useOldAliasMetadataBehavior=true

修改完畢之后量九,查詢的數(shù)據(jù)信息能夠映射到Java類的屬性中适掰,到這里該問題成功解決


image

四、題外話

通過這次問題探索和問題解決,感觸較深攻谁。我們對于一些框架的源碼應(yīng)該放下敬畏之心報以平常的心態(tài)查看源碼稚伍,通過查看源碼來解決問題。這種方法看似困難戚宦,其實是最簡單个曙、最高效。同時受楼,以后也要多多查看優(yōu)秀的源碼垦搬,學(xué)習(xí)別人的設(shè)計思想和代碼習(xí)慣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艳汽,一起剝皮案震驚了整個濱河市猴贰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌河狐,老刑警劉巖米绕,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馋艺,居然都是意外死亡栅干,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門捐祠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碱鳞,“玉大人,你說我怎么就攤上這事踱蛀×” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵率拒,是天一觀的道長崩泡。 經(jīng)常有香客問我,道長俏橘,這世上最難降的妖魔是什么允华? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮寥掐,結(jié)果婚禮上靴寂,老公的妹妹穿的比我還像新娘。我一直安慰自己召耘,他們只是感情好百炬,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著污它,像睡著了一般剖踊。 火紅的嫁衣襯著肌膚如雪庶弃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天德澈,我揣著相機與錄音歇攻,去河邊找鬼。 笑死梆造,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镇辉。 我是一名探鬼主播屡穗,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼忽肛!你這毒婦竟也來了村砂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤屹逛,失蹤者是張志新(化名)和其女友劉穎础废,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罕模,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡色迂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了手销。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片万伤。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拒贱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出触菜,到底是詐尸還是另有隱情祸轮,我是刑警寧澤兽埃,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站适袜,受9級特大地震影響柄错,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苦酱,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一售貌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧疫萤,春花似錦颂跨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽池颈。三九已至,卻和暖如春钓丰,著一層夾襖步出監(jiān)牢的瞬間躯砰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工携丁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留琢歇,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓则北,卻偏偏與公主長得像矿微,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尚揣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,101評論 1 32
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔涌矢,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 2,756評論 2 9
  • 1. 簡介 1.1 什么是 MyBatis 快骗? MyBatis 是支持定制化 SQL娜庇、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,522評論 0 4
  • MYSQL 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 7,815評論 5 116
  • A:你喜歡狗狗嗎? B:不知道方篮。 A:不會吧名秀,這你都需要糾結(jié)?藕溅!喜歡就喜歡咯匕得,不喜歡就不喜歡咯!...... B:...
    言語嫣然閱讀 437評論 0 0