mybatis各种查询功能4 – 查询以及返回单个map集合

2022年7月12日13:13:34

前言

上一章我们介绍了

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.结论


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集合mybatis各种查询功能4 - 查询以及返回单个map集合https://blog.csdn.net/m0_53753920/article/details/124217303?spm=1001.2014.3001.5502

  • 作者:大力pig
  • 原文链接:https://blog.csdn.net/m0_53753920/article/details/124215322
    更新时间:2022年7月12日13:13:34 ,共 1236 字。