上一章我们介绍了

mybatis的各种查询情况3 - 查询信息总量 count(*)以及返回总量mybatis各种查询功能4 - 查询以及返回单个map集合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.结论


    /**      * 根据id查询用户信息为一个map      */     Map<String, Object> getUserByIdToMap(@Param("id") Integer id);

resultType可以写成Map或者map, 具体别名Alias可以参考专栏的上一篇文章mybatis类型别名。

文章 =》 mybatis默认类型别名

    <!--    Map<String, Object> getUserByIdToMap();-->     <select id="getUserByIdToMap" resultType="Map">         select * from t_user where id = #{id}     </select>

通过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.1本次测试结果

可以看异常,捕获之后继续往下处理。

 4.2mysql数据库结果

3不存在,5存在。

返回Map集合以字段和值为键值对。

下一章我们会介绍

mybatis各种查询功能5 - 查询所有数据并返回多个map集合mybatis各种查询功能4 - 查询以及返回单个map集合https://blog.csdn.net/m0_53753920/article/details/124217303?spm=1001.2014.3001.5502