1. 查询一条记录
可以使用实体类或者集合接收。
//根据id查询用户-单条记录
User getUserById(@Param("id") Integer id);
<!--根据id查询用户-查询单条记录-->
<select id="getUserById" resultType="User">
select * from user where id=#{id}
</select>
2. 查询多条记录
使用集合接收。
//查询所有用户
List<User> getAllUsers();
<!--查询所有用户-->
<select id="getAllUsers" resultType="User">
select * from user
</select>
3. 查询单个数据
当查询结果为基本数据类型时,使用基本数据类型来接收。
//查询表中有多少条记录
Integer getCount();
<!--查询表中记录数-->
<!--注意:MyBatis给出了基本数据类型的别名,可以直接使用别名而不用写全类名-->
<select id="getCount" resultType="Integer">
select count(*) from user
</select>
下图仅是部分别名:
4. 将单条记录的结果转为map
//根据id查询用户,将结果转化成map
Map<String,Object> getUserByIdToMap(@Param("id") Integer id);
<!--将结果转换成map,map的类型别名就是map
将结果转换成map时,属性名为键,属性值为值,以map形式获取的查询结果形式实际上与JSON是类似的-->
<select id="getUserByIdToMap" resultType="map">
select * from user where id=#{id}
</select>
5. 将多条记录的结果转为map
/**
* 查询所有用户, 并将结果转为map,有两种方式可以将多条记录转为map
* 1.使用map的List集合
* 2.使用@MapKey注解指定一个字段作为键,一条记录作为值,下面演示这种方法
*/
@MapKey("id")
Map<String,Object> getAllUsersToMap();
<!--将多条记录转为map-->
<select id="getAllUsersToMap" resultType="map">
select * from user
</select>