MyBatis查詢時屬性名和字段名不一致問題的解決方法
問題
當我們數(shù)據(jù)庫中的字段和實體類中的字段不一致的時候,查詢會出問題
數(shù)據(jù)庫字段是 pwd
id name pwd 1 張三 123456 2 李四 123456 3 王五 123456 4 趙六 123456
實體類字段是 password
public class User {
private int id;
private String name;
private String password;
}
查出來結(jié)果發(fā)現(xiàn), password 是 null
User{id=1, name='張三', password='null'}
User{id=2, name='李四', password='null'}
User{id=3, name='王五', password='null'}
User{id=4, name='趙六', password='null'}
原因是類型處理器
select * from user // 類型處理器:我們查詢 select * 實際是查詢 select id,name,pwd select id,name,pwd from user
解決辦法
- resultMap:結(jié)果集映射
- sql起別名
select id,name,pwd as password from user
解決方案:resultMap
結(jié)果集映射:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps
- resultMap 元素是 MyBatis 中最重要最強大的元素
- ResultMap 的設(shè)計思想是,對簡單的語句做到零配置,對于復雜一點的語句,只需要描述語句之間的關(guān)系就行了
我們只需要在Mapper.xml 中加入結(jié)果集映射即可,且只加需要映射的字段即可
<mapper namespace="com.pro.dao.UserMapper"> <!--id: 下面select語句中resultMap綁定的(標識符/名稱), type: 我們的實體類--> <resultMap id="UserMap" type="User"> <!--column: 對應(yīng)數(shù)據(jù)庫中的字段, property: 對應(yīng)實體類中的屬性--> <result column="pwd" property="password"/> </resultMap> <select id="getUserList" resultMap="UserMap"> select * from users </select> </mapper>
總結(jié)
到此這篇關(guān)于MyBatis查詢時屬性名和字段名不一致問題解決的文章就介紹到這了,更多相關(guān)MyBatis查詢時屬性名和字段名不一致內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot調(diào)用第三方WebService接口的兩種方法
本文主要介紹了SpringBoot調(diào)用第三方WebService接口的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
輸出java進程的jstack信息示例分享 通過線程堆棧信息分析java線程
通過ps到j(luò)ava進程號將進程的jstack信息輸出。jstack信息是java進程的線程堆棧信息,通過該信息可以分析java的線程阻塞等問題。2014-01-01
JAVA中的延遲隊列DelayQueue應(yīng)用解析
這篇文章主要介紹了JAVA中的延遲隊列DelayQueue應(yīng)用解析,DelayQueue是一個根據(jù)元素的到期時間來排序的隊列,而并非是一般的隊列那樣先進先出,最快過期的元素排在隊首,越晚到期的元素排得越后,需要的朋友可以參考下2023-12-12
Spring中BeanFactory?FactoryBean和ObjectFactory的三種的區(qū)別
關(guān)于FactoryBean?和?BeanFactory的對比文章比較多,但是對ObjectFactory的描述就比較少,今天我們對比下這三種的區(qū)別,感興趣的朋友跟隨小編一起看看吧2023-01-01
使用spring oauth2框架獲取當前登錄用戶信息的實現(xiàn)代碼
這篇文章主要介紹了使用spring oauth2框架獲取當前登錄用戶信息的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動和運行效率(推薦)
這篇文章主要介紹了Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動和運行效率,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02
Lombok @Slf4j log對象沒有info等方法不可用問題及解決
本文主要介紹了如何解決Spring Boot項目中的日志依賴沖突問題,以及如何使用Lombok和SLF4J進行日志記錄,Lombok通過生成Logger對象簡化了日志記錄,而SLF4J提供了一個統(tǒng)一的日志接口,允許開發(fā)者在運行時選擇不同的日志實現(xiàn)2024-12-12
java數(shù)據(jù)結(jié)構(gòu)圖論霍夫曼樹及其編碼示例詳解
這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)圖論霍夫曼樹及其編碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-11-11

