提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
mybatis学习记录
04. MyBatis 查询数据
提示:以下是本篇文章正文内容,下面案例可供参考
查询单个数据
测试方法:
@Test
public void testGetCount(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
System.out.println(mapper.getCount());
}
mapper接口:
public interface SelectMapper {
Integer getCount();
}
映射文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="study.mapper.SelectMapper">
<select id="getCount" resultType="java.lang.Integer">
select count(*) from t_user
</select>
</mapper>
查询多条数据
- 可通过实体类类型的集合接收
测试方法:
@Test
public void testGetUserById(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
System.out.println(mapper.getUserById(8));
}
mapper接口:
User getUserById(@Param("id") Integer id);
映射文件:
<select id="getUserById" resultType="User">
select * from t_user where id = #{id}
</select>
- 可通过map类型的list集合接收
测试方法:
@Test
public void testGetUserToMap(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
System.out.println(mapper.getUserToMap(8));
}
mapper接口:
Map<String,Object> getUserToMap(@Param("id") int id);
映射文件:
<select id="getUserToMap" resultType="map">
select * from t_user where id = #{id}
</select>
- 可以在mapper接口的方法上添加@MapKey注解,此时可将每条数据转换的map集合作为值,以某个唯一标识的值作为键,放在同一个map集合中
测试方法:
@Test
public void testGetAllUserToMap(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
System.out.println(mapper.getAllUserToMap());
}
mapper接口:
@MapKey("id")
Map<String,Object> getAllUserToMap();
映射文件:
<select id="getAllUserToMap" resultType="map">
select * from t_user;
</select>