一、返回一般数据类型
此实列总代用的是string类型
列:比如我们要根据 id 属性获得数据库中的某个字段值。
mapper 接口:
// 根据 id 获得数据库中的 username 字段的值
String getEmpNameById(Long id);
XML映射文件:
<!-- 指定 resultType 返回值类型时 String 类型的,
string 在这里是一个别名,代表的是 java.lang.String
对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'
基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 byte 对应的别名是 '_byte'
有些时候resultType会检测不到String类型,检测不到就写全包路径 java.lang.String -->
<select id="getEmpNameById" resultType="string">
select username from t_employee where id = #{id}
</select>
二、返回 JavaBean 类型
好比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 JavaBean 类型的数据。(简而言之平常使用的实体类)
mapper 接口:
// 根据 id 查询信息,并把信息封装成 User 对象
User getUserID(Long id);
<!--
通过 resultType 指定查询的结果是 user类型的数据
只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性
-->
<select id="getUserID" resultType="user">
select * from user where id = #{id}
</select>
三、返回Map类型
MyBatis 还支持将查询的数据封装成Map。
如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。
mapper 接口:
// 根据 id 查询信息,并把结果信息封装成 Map
Map<String, Object> getUserById(Long id);
SQL 映射文件:
<!--
注意这里的 resultType 返回值类型是 'map'
-->
<select id="getUserById" resultType="map">
select * from user where id = #{id}
</select>
四、返回List类型(比较常用的一种重点)
有时候我们要查询的数据不止一条,比如:页面的模糊查询,直接展示多条表记录,这时候返回的数据可能不止是一条数据,对于多数据的处理可以存放在List集合中。
mapper 接口:
// 假如是全表查询数据,将查询的数据封装成 Employee 类型的集合
List<User> selectAllUser();
SQL 映射文件:
<!-- 注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list' -->
<select id="selectAllUser" resultType="user">
select * from user
</select>