您好,登錄后才能下訂單哦!
小編給大家分享一下mybatis返回值如何接收的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
mybatis返回值用什么接?要看返回的是什么數(shù)據(jù),一般常見(jiàn)的有:
一、返回一般數(shù)據(jù)類(lèi)型
比如要根據(jù) id 屬性獲得數(shù)據(jù)庫(kù)中的某個(gè)字段值。
mapper 接口:
// 根據(jù) id 獲得數(shù)據(jù)庫(kù)中的 username 字段的值 String getEmpNameById(Integer id);
SQL 映射文件:
<!-- 指定 resultType 返回值類(lèi)型時(shí) String 類(lèi)型的, string 在這里是一個(gè)別名,代表的是 java.lang.String 對(duì)于引用數(shù)據(jù)類(lèi)型,都是將大寫(xiě)字母轉(zhuǎn)小寫(xiě),比如 HashMap 對(duì)應(yīng)的別名是 'hashmap' 基本數(shù)據(jù)類(lèi)型考慮到重復(fù)的問(wèn)題,會(huì)在其前面加上 '_',比如 byte 對(duì)應(yīng)的別名是 '_byte' --> <select id="getEmpNameById" resultType="string"> select username from t_employee where id = #{id} </select>
二、返回 JavaBean 類(lèi)型
比如根據(jù)某個(gè)字段獲得數(shù)據(jù)庫(kù)中的信息,把查詢的結(jié)果信息封裝成某個(gè) JavaBean 類(lèi)型的數(shù)據(jù)。
mapper 接口:
// 根據(jù) id 查詢信息,并把信息封裝成 Employee 對(duì)象 Employee getEmpById(Integer id);
SQL 映射文件:
<!-- 通過(guò) resultType 指定查詢的結(jié)果是 Employee 類(lèi)型的數(shù)據(jù) 只需要指定 resultType 的類(lèi)型,MyBatis 會(huì)自動(dòng)將查詢的結(jié)果映射成 JavaBean 中的屬性 --> <select id="getEmpById" resultType="employee"> select * from t_employee where id = #{id} </select>
三、返回List類(lèi)型
有時(shí)候我們要查詢的數(shù)據(jù)不止一條,比如:模糊查詢,全表查詢等,這時(shí)候返回的數(shù)據(jù)可能不止是一條數(shù)據(jù),對(duì)于多數(shù)據(jù)的處理可以存放在List集合中。
mapper 接口:
// 假如是全表查詢數(shù)據(jù),將查詢的數(shù)據(jù)封裝成 Employee 類(lèi)型的集合 List<Employee> getAllEmps();
SQL 映射文件:
<!-- 注意這里的 resultType 返回值類(lèi)型是集合內(nèi)存儲(chǔ)數(shù)據(jù)的類(lèi)型,不是 'list' --> <select id="getAllEmps" resultType="employee"> select * from t_employee </select>
四、返回Map類(lèi)型
MyBatis 還支持將查詢的數(shù)據(jù)封裝成Map。
1. 如果查詢的結(jié)果是一條,我們可以把查詢的數(shù)據(jù)以{表字段名, 對(duì)應(yīng)的值}方式存入到Map中。
mapper 接口:
// 根據(jù) id 查詢信息,并把結(jié)果信息封裝成 Map Map<String, Object> getEmpAsMapById(Integer id);
SQL 映射文件:
<!-- 注意這里的 resultType 返回值類(lèi)型是 'map' --> <select id="getEmpAsMapById" resultType="map"> select * from t_employee where id = #{id} </select>
以上是mybatis返回值如何接收的案例的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。