詳解MyBatis中column屬性的總結
在MyBatis的映射中有column這么一個屬性,我一直以為它映射的是數據庫表中的列名,但經過學習發(fā)現他似乎映射的是SQL語句中的列名,或者說是查詢結果所得到的表的列名。
下面我們進行一個實驗。
首先我們有一張user表:

我還有一個實體類User,有著id、username、password三個屬性。
我們的UserMapper接口中有著獲取這張表單所有數據的方法。
我們現在在UserMapper.mxl中這樣寫:
<select id="getUsers" resultType="User">
select * from mybaties.user
</select>或者這樣寫:
<select id="getUsers" resultType="User">
select id, username, password from mybaties.user
</select>這兩句完全相同,我們去測試一下看看結果:

成功獲取了所有信息。
現在給password起個別名pwd,在UserMapper.mxl中這樣寫:
<select id="getUsers" resultType="User">
select id, username, password as pwd from mybaties.user
</select>此時我們再去運行:

我們會發(fā)現password竟然變成了null。
此時我們去配置一個結果映射,讓pwd映射到我們的屬性password:
<resultMap id="um" type="User">
<result property="password" column="pwd"/>
</resultMap>
<select id="getUsers" resultMap="um">
select id, username, password as pwd from mybaties.user
</select>測試結果:

沒有問題。
得出結論:映射到屬性的字段名是查詢結果的列名,而不是數據庫中已存在的表的列名。
到此這篇關于MyBatis中column屬性的總結的文章就介紹到這了,更多相關MyBatis column屬性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一文搞懂SpringMVC中@InitBinder注解的使用
@InitBinder方法可以注冊控制器特定的java.bean.PropertyEditor或Spring Converter和 Formatter組件。本文通過示例為大家詳細講講@InitBinder注解的使用,需要的可以參考一下2022-06-06
Spring MVC學習教程之RequestMappingHandlerMapping匹配
這篇文章主要給大家介紹了關于Spring MVC學習教程之RequestMappingHandlerMapping匹配的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2018-11-11
SpringBoot validator參數驗證restful自定義錯誤碼響應方式
這篇文章主要介紹了SpringBoot validator參數驗證restful自定義錯誤碼響應方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Mybatis如何解決sql中l(wèi)ike通配符模糊匹配問題
這篇文章主要介紹了Mybatis如何解決sql中l(wèi)ike通配符模糊匹配問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

