1、返回通常數據類型
好比要根據 id 屬性得到數據庫中的某個字段值。java
mapper (dao)接口:數據庫
// 根據 id 得到數據庫中的 username 字段的值
String getStuNameById(Integer id);app
Mapper.xml 映射文件:spa
<!-- 指定 resultType 返回值類型時 String 類型的,string 在這裏是一個別名,表明的是 java.lang.String xml
對於引用數據類型,都是將大寫字母轉小寫,好比 HashMap 對應的別名是 'hashmap'對象
基本數據類型考慮到重複的問題,會在其前面加上 '_',好比 byte 對應的別名是 '_byte'-->接口
<select id="getStuNameById" resultType="string">
select username from t_student where id = #{id}
</select>
2、返回 JavaBean 類型
好比根據某個字段得到數據庫中的信息,把查詢的結果信息封裝成某個 JavaBean 類型的數據。內存
mapper (dao)接口:get
// 根據 id 查詢信息,並把信息封裝成 Student 對象
Student getStuById(Integer id);
Mapper.xml 映射文件:string
<!-- 經過 resultType 指定查詢的結果是 Student類型的數據 只須要指定 resultType 的類型,MyBatis 會自動將查詢的結果映射成 JavaBean 中的屬性-->
<select id="getStuById" resultType="student">
select * from t_student where id = #{id}
</select>
3、返回List類型
有時候咱們要查詢的數據不止一條,好比:模糊查詢,全表查詢等,這時候返回的數據可能不止是一條數據,對於多數據的處理能夠存放在List集合中。
mapper(dao) 接口:
// 假如是全表查詢數據,將查詢的數據封裝成Student類型的集合
List<Student> getAllStus();
Mapper.xml 映射文件:
<!--注意這裏的 resultType 返回值類型是集合內存儲數據的類型,不是 'list'-->
<select id="getAllStus" resultType="student">
select * from t_student
</select>
4、返回Map類型
MyBatis支持將查詢的數據封裝成Map。
1. 若是查詢的結果是一條,咱們能夠把查詢的數據以{表字段名, 對應的值}方式存入到Map中。
mapper (dao)接口:
// 根據 id 查詢信息,並把結果信息封裝成 Map
Map<String, Object> getStuAsMapById(Integer id);
Mapper.xml 映射文件:
<!-- 注意這裏的 resultType 返回值類型是 'map'-->
<select id="getStuAsMapById" resultType="map">
select * from t_student where id = #{id}
</select>
2. 若是查詢的結果是多條數據,咱們也能夠把查詢的數據以{表中某一字段名, JavaBean}方式來封裝成Map。
mapper (dao)接口:
// 查詢全部學生的信息,把數據庫中的 'id' 字段做爲 key,對應的 value 封裝成 Student 對象
// @MapKey 中的值表示用數據庫中的哪一個字段名做 key
@MapKey("id")
Map<Integer, Student> getAllStusAsMap();
Mapper.xml 映射文件:
<!--注意 resultType 返回值類型,再也不是 'map',而是 Map 的 value 對應的 JavaBean 類型--> <select id="getAllStusAsMap" resultType="student"> select * from t_student </select>