Mybatis實(shí)體類屬性與數(shù)據(jù)庫不一致解決方案
當(dāng)實(shí)體類屬性和數(shù)據(jù)庫不一致時(shí),使用mybatis查詢數(shù)據(jù)庫返回實(shí)體類自動封裝就會出現(xiàn)問題。針對這種情況,有兩種解決方案。
1、使用別名查詢
<!-- 配置查詢所有操作 --> <select id="findAll" resultType="com.itheima.domain.User"> select id as userId,username as userName,birthday as userBirthday, sex as userSex,address as userAddress from user </select>
優(yōu)點(diǎn):查詢效率高
缺點(diǎn):如果我們的查詢很多,都使用別名的話寫起來很麻煩
2、定義resultMap
resultMap 標(biāo)簽可以建立查詢的列名和實(shí)體類的屬性名稱不一致時(shí)建立對應(yīng)關(guān)系。從而實(shí)現(xiàn)封裝。在 select 標(biāo)簽中使用 resultMap 屬性指定引用即可。同時(shí) resultMap 可以實(shí)現(xiàn)將查詢結(jié)果映射為復(fù)雜類型的 pojo,比如在查詢結(jié)果映射對象中包括 pojo 和 list 實(shí)現(xiàn)一對一查詢和一對多查詢。
<!-- 建立User實(shí)體和數(shù)據(jù)庫表的對應(yīng)關(guān)系 type屬性:指定實(shí)體類的全限定類名 id屬性:給定一個唯一標(biāo)識,是給查詢select 標(biāo)簽引用的。--> <resultMap type="com.itheima.domain.User" id="userMap"> <id column="id" property="userId"/> <result column="username" property="userName"/> <result column="sex" property="userSex"/> <result column="address" property="userAddress"/> <result column="birthday" property="userBirthday"/> </resultMap> <!--id 標(biāo)簽:用于指定主鍵字段 result 標(biāo)簽:用于指定非主鍵字段 column 屬性:用于指定數(shù)據(jù)庫列名 property 屬性:用于指定實(shí)體類屬性名稱--> <!-- 配置查詢所有操作--> <select id="findAll" resultMap="userMap"> select * from user </select>
優(yōu)點(diǎn):代碼書寫簡潔,提高開發(fā)效率
缺點(diǎn):查詢效率低
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java鎖機(jī)制ReentrantLock源碼實(shí)例分析
這篇文章主要為大家介紹了java鎖機(jī)制ReentrantLock源碼實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
責(zé)任鏈模式在spring security過濾器鏈中的應(yīng)用小結(jié)
責(zé)任鏈模式在SpringSecurity過濾器鏈中的應(yīng)用,通過一系列的過濾器按順序處理請求,每個過濾器負(fù)責(zé)特定的安全功能,實(shí)現(xiàn)靈活且可擴(kuò)展的請求處理機(jī)制,感興趣的朋友跟隨小編一起看看吧2024-11-11
Java實(shí)現(xiàn)數(shù)據(jù)脫敏(Desensitization)的操作指南
數(shù)據(jù)脫敏是指通過對敏感數(shù)據(jù)進(jìn)行部分或完全隱藏處理,保護(hù)敏感信息在存儲和使用過程中的安全性,常見的應(yīng)用場景包括日志記錄、接口返回、報(bào)表展示、數(shù)據(jù)分析等,本文給大家介紹了Java實(shí)現(xiàn)數(shù)據(jù)脫敏(Desensitization)的操作指南,需要的朋友可以參考下2025-02-02
Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重復(fù)讀取配置文
這篇文章主要介紹了Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重復(fù)讀取配置文件的方法,需要的朋友可以參考下2015-12-12
解析電子郵件的基本概念及JavaMail API郵件功能使用
這篇文章主要介紹了電子郵件的基本概念及JavaMail API郵件功能使用,包括用Java來發(fā)送郵件的示例,需要的朋友可以參考下2016-02-02

