解決數(shù)據(jù)庫(kù)有數(shù)據(jù)但查詢出來(lái)的值為Null問(wèn)題
原因
在使用逆向工程后會(huì)為我們自動(dòng)生成實(shí)體類和映射文件
但是生成的實(shí)體類中某些屬性名和數(shù)據(jù)庫(kù)表中的屬性名會(huì)發(fā)生改變
如下圖:
但是逆向工程通過(guò)使用resultMap 把數(shù)據(jù)庫(kù)的屬性名和實(shí)體類的屬性名進(jìn)行了綁定
所以就只要我們sql查詢的時(shí)候返回值類型不為resultMap,就會(huì)返回null
解決方案
方案1
把sql語(yǔ)句的返回值類型改為resultMap
方案2
如果嫌配置 resultMap
麻煩的話可以給數(shù)據(jù)庫(kù)的字段起一個(gè)別名。
但是起的別名一定要和實(shí)體類的屬性名對(duì)應(yīng)上。
SELECT DISTINCT a.id, a.name, a.front_url as frontUrl, a.back_url as backUrl, a.parent_id as parentId from ums_role_resource as b
總結(jié)
只有當(dāng)數(shù)據(jù)庫(kù)表中的字段名稱與實(shí)體類中的屬性名稱完全相同,才能直接使用resultType返回類型,后面跟上該實(shí)體類的名稱。
否則一定需要用 resultMap
進(jìn)行屬性映射,或者給出現(xiàn)變化的字段 起別名
否則得到的數(shù)據(jù)一直沒(méi)有匹配的實(shí)體類與之對(duì)應(yīng),返回的結(jié)果也自然為空
當(dāng)然了,以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
給mysql數(shù)據(jù)庫(kù)的字段設(shè)默認(rèn)值方式
這篇文章主要介紹了給mysql數(shù)據(jù)庫(kù)的字段設(shè)默認(rèn)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10MySQL數(shù)據(jù)庫(kù)算術(shù)運(yùn)算舉例詳解
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)算術(shù)運(yùn)算的相關(guān)資料,MySQL支持的算術(shù)運(yùn)算符包括加、減、乘、除和模運(yùn)算,它們是最常使用、最簡(jiǎn)單的一類運(yùn)算符,需要的朋友可以參考下2024-01-01MySQL curdate()函數(shù)的實(shí)例詳解
這篇文章主要介紹了MySQL curdate()函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家理解應(yīng)用MysqL curdate()的使用方法,需要的朋友可以參考下2017-09-09linux下安裝升級(jí)mysql到新版本(5.1-5.7)
這篇文章主要介紹了linux下安裝升級(jí)mysql到新版本(5.1-5.7),需要的朋友可以參考下2016-03-03MySQL開(kāi)發(fā)規(guī)范與使用技巧總結(jié)
今天小編就為大家分享一篇關(guān)于MySQL開(kāi)發(fā)規(guī)范與使用技巧總結(jié),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03MySQL性能優(yōu)化的最佳20+條經(jīng)驗(yàn)
這篇文章主要為大家詳細(xì)介紹了MySQL性能優(yōu)化的最佳20+條經(jīng)驗(yàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09MySQL 5.7雙主同步部分表的實(shí)現(xiàn)過(guò)程詳解
這篇文章主要給大家介紹了關(guān)于MySQL 5.7雙主同步部分表實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09