詳解MyBatis中column屬性的總結(jié)
在MyBatis的映射中有column這么一個(gè)屬性,我一直以為它映射的是數(shù)據(jù)庫(kù)表中的列名,但經(jīng)過(guò)學(xué)習(xí)發(fā)現(xiàn)他似乎映射的是SQL語(yǔ)句中的列名,或者說(shuō)是查詢結(jié)果所得到的表的列名。
下面我們進(jìn)行一個(gè)實(shí)驗(yàn)。
首先我們有一張user表:

我還有一個(gè)實(shí)體類User,有著id、username、password三個(gè)屬性。
我們的UserMapper接口中有著獲取這張表單所有數(shù)據(jù)的方法。
我們現(xiàn)在在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>這兩句完全相同,我們?nèi)y(cè)試一下看看結(jié)果:

成功獲取了所有信息。
現(xiàn)在給password起個(gè)別名pwd,在UserMapper.mxl中這樣寫:
<select id="getUsers" resultType="User">
select id, username, password as pwd from mybaties.user
</select>此時(shí)我們?cè)偃ミ\(yùn)行:

我們會(huì)發(fā)現(xiàn)password竟然變成了null。
此時(shí)我們?nèi)ヅ渲靡粋€(gè)結(jié)果映射,讓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>測(cè)試結(jié)果:

沒有問(wèn)題。
得出結(jié)論:映射到屬性的字段名是查詢結(jié)果的列名,而不是數(shù)據(jù)庫(kù)中已存在的表的列名。
到此這篇關(guān)于MyBatis中column屬性的總結(jié)的文章就介紹到這了,更多相關(guān)MyBatis column屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot產(chǎn)生環(huán)形注入的解決方案
這篇文章主要介紹了Spring Boot產(chǎn)生環(huán)形注入的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
使用WebSocket實(shí)現(xiàn)即時(shí)通訊(一個(gè)群聊的聊天室)
這篇文章主要為大家詳細(xì)介紹了使用WebSocket實(shí)現(xiàn)即使通訊,實(shí)現(xiàn)一個(gè)群聊的聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Java Mybatis框架多表操作與注解開發(fā)詳解分析
MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫(kù)中的記錄2021-10-10
Spring?Boot實(shí)現(xiàn)第一次啟動(dòng)時(shí)自動(dòng)初始化數(shù)據(jù)庫(kù)流程詳解
在現(xiàn)在的后端開發(fā)中,只要是使用關(guān)系型數(shù)據(jù)庫(kù),相信SSM架構(gòu)(Spring?Boot?+?MyBatis)已經(jīng)成為首選,本文就以Spring?Boot?+?MyBatis為例,使用MySQL作為數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)初始化功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05
Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)
這篇文章主要為大家介紹了Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
通過(guò)HashMap原理詳解entrySet中的疑問(wèn)
這篇文章主要為大家介紹了通過(guò)HashMap原理詳解entrySet中的疑問(wèn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

