1.查询一个实体类对象
一条数据对应一个用户对象(实体类),多条数据得用一个容器接收,list或者map 。
若sql语句查询结果为一条时,可以使用实体类类型或list集合类型作为方法的返回值。
①接口方法
//根据d查询用户信息
User getUserById(@Param("id") Integer id);
②映射文件
<mapper namespace="com.atguigu.mybatis.mapper.SelectMapper">
<!-- User getUserById(@Param("id") Integer id);-->
<select id="getUserById" resultType="User">
select * from t_user where id=#{id}
</select>
</mapper>
③测试类
@Test
public void testGetUserById(){
SqlSession session = SqlSessionUtil.getSession();
SelectMapper mapper = session.getMapper(SelectMapper.class);
User userById = mapper.getUserById(1);
System.out.println(userById);
}
2. 查询一个list集合
若sql语句查询的结果为多条时,一定不能实体类类型作为方法的返回值,
否则抛出异常 TooManyResultsException 。
①接口方法
// 查询所有的用户信息
List<User> getAllUser();
②映射文件
<!-- List<User> getAllUser();-->
<select id="getAllUser" resultType="User">
select * from t_user
</select>
③测试类
@Test
public void testGetAllUser(){
SqlSession session = SqlSessionUtil.getSession();
SelectMapper mapper = session.getMapper(SelectMapper.class);
List<User> allUser = mapper.getAllUser();