一、返回一般數據類型
比如要根據 id 屬性獲得數據庫中的某個字段值。
mapper 接口:
// 根據 id 獲得數據庫中的 username 字段的值
String getEmpNameById(Integer id);
SQL 映射文件:
<!--
指定 resultType 返回值類型時 String 類型的,
string 在這里是一個別名,代表的是 java.lang.String
對於引用數據類型,都是將大寫字母轉小寫,比如 HashMap 對應的別名是 'hashmap'
基本數據類型考慮到重復的問題,會在其前面加上 '_',比如 byte 對應的別名是 '_byte'
-->
<select id="getEmpNameById" resultType="string">
select username from t_employee where id = #{id}
</select>
二、返回 JavaBean 類型
比如根據某個字段獲得數據庫中的信息,把查詢的結果信息封裝成某個 JavaBean 類型的數據。
三、返回List類型
有時候我們要查詢的數據不止一條,比如:模糊查詢,全表查詢等,這時候返回的數據可能不止是一條數據,對於多數據的處理可以存放在List集合中。
四、返回Map類型
MyBatis 還支持將查詢的數據封裝成Map。
1. 如果查詢的結果是一條,我們可以把查詢的數據以{表字段名, 對應的值}方式存入到Map中。
2. 如果查詢的結果是多條數據,我們也可以把查詢的數據以{表中某一字段名, JavaBean}方式來封裝成Map。
下面是查詢的結果 (只截取了一部分):
MyBatis 允許查詢的結果封裝成Map,這種機制是極好的。
五、擴展
擴展. 上面返回結果的形式都是基於查詢 (select) 的,其實對於增刪改的操作也可以返回一定類型的數據,比如Boolean,Integer等。
總結. 這篇博文主要介紹了在開發中常用的幾種數據返回值類型。