解決數(shù)據(jù)庫有數(shù)據(jù)但查詢出來的值為Null問題
原因
在使用逆向工程后會為我們自動生成實體類和映射文件
但是生成的實體類中某些屬性名和數(shù)據(jù)庫表中的屬性名會發(fā)生改變
如下圖:
但是逆向工程通過使用resultMap 把數(shù)據(jù)庫的屬性名和實體類的屬性名進行了綁定
所以就只要我們sql查詢的時候返回值類型不為resultMap,就會返回null
解決方案
方案1
把sql語句的返回值類型改為resultMap
方案2
如果嫌配置 resultMap
麻煩的話可以給數(shù)據(jù)庫的字段起一個別名。
但是起的別名一定要和實體類的屬性名對應(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é)
只有當數(shù)據(jù)庫表中的字段名稱與實體類中的屬性名稱完全相同,才能直接使用resultType返回類型,后面跟上該實體類的名稱。
否則一定需要用 resultMap
進行屬性映射,或者給出現(xiàn)變化的字段 起別名
否則得到的數(shù)據(jù)一直沒有匹配的實體類與之對應(yīng),返回的結(jié)果也自然為空
當然了,以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
給mysql數(shù)據(jù)庫的字段設(shè)默認值方式
這篇文章主要介紹了給mysql數(shù)據(jù)庫的字段設(shè)默認值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10MySQL數(shù)據(jù)庫算術(shù)運算舉例詳解
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫算術(shù)運算的相關(guān)資料,MySQL支持的算術(shù)運算符包括加、減、乘、除和模運算,它們是最常使用、最簡單的一類運算符,需要的朋友可以參考下2024-01-01MySQL開發(fā)規(guī)范與使用技巧總結(jié)
今天小編就為大家分享一篇關(guān)于MySQL開發(fā)規(guī)范與使用技巧總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03