前言
上一章我们介绍了
mybatis的各种查询情况3 - 查询信息总量 count(*)以及返回总量https://blog.csdn.net/m0_53753920/article/details/124215322?spm=1001.2014.3001.5502本章我们会介绍如何通过mybatis的查询功能来返回一个map集合
目录
1.接口类
2.mapper映射文件
3.测试类
4.结果
4.1本次测试结果
4.2mysql数据库结果
5.结论
1.接口类
/**
* 根据id查询用户信息为一个map
*/
Map<String, Object> getUserByIdToMap(@Param("id") Integer id);
2.mapper映射文件
resultType可以写成Map或者map, 具体别名Alias可以参考专栏的上一篇文章mybatis类型别名。
文章 =》 mybatis默认类型别名
<!-- Map<String, Object> getUserByIdToMap();-->
<select id="getUserByIdToMap" resultType="Map">
select * from t_user where id = #{id}
</select>
3.测试类
通过id去查可能会抛出 NullPointerException , 在这里我们去捕获一下这个异常。在本次特点模拟了第一次有异常,捕获之后在查询的场景。3是ID不存在的,5是ID存在的。
@Test
public void testGetUserByIdToMap() {
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
try{
Map<String, Object> userByIdToMap = mapper.getUserByIdToMap(3);
userByIdToMap.forEach((k, v)-> System.out.println("key ="+k+", value = "+ v));
}catch (NullPointerException e){
e.printStackTrace();
Map<String, Object> userByIdToMap = mapper.getUserByIdToMap(5);
System.out.println(userByIdToMap);
}
4.结果
4.1本次测试结果
可以看异常,捕获之后继续往下处理。
4.2mysql数据库结果
3不存在,5存在。
5.结论
返回Map集合以字段和值为键值对。
下一章我们会介绍
mybatis各种查询功能5 - 查询所有数据并返回多个map集合https://blog.csdn.net/m0_53753920/article/details/124217303?spm=1001.2014.3001.5502
声明:本站所有文章,如无特殊说明或标注,均为网络收集发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。