码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis返回多结果集

时间:2019-11-13 21:58:12      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:测试   call   ima   str   obj   inf   resultmap   类型   bug   

一、返回Map类型

1、如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。
mapper 接口:
    //  根据 id 查询信息,并把结果信息封装成 Map 
    Map<String,Object> getUserInfo(@Param("user_id") Integer user_id);
SQL 映射文件:
    <!-- 这里为resultType="map" -->
    <select id="getUserInfo" resultType="map">
        select a.*,
        b.role_name
        from (
        select * from t_user where user_id= #{user_id}
        ) a
        inner join t_role b
        on a.role_id = b.role_id
    </select>
单元测试
    @Test
    public void testLogin() {
        Map<String,Object> map =userDao.getUserInfo(10086);
        map.remove("user_password");
        System.out.println(map);
    }
查询结果

技术图片

二、多结果集

mapper 接口:

    /**
     * 调用存储过程获取多个结果集
     * @return
     */
    List<List<?>> getTests();
SQL 映射文件:
    <!--调用存储过程获取多个结果集
    "神bug 不加前面的两个横杠报错"
    -->
    <select id="getTests" statementType="CALLABLE" resultMap="paging_list,paging_additional" >
--
    CALL paging_list ( '*','t_user',1 , 3 , 'faculty_id in (2) and role_id in (3)' , '',@_totalcount,@_pagecount)

     </select>
单元测试
    /**
     * 测试调用存储过程获取多个结果集
     */
    @Test
    public void testGetTests(){
        List<List<?>> aa =userDao.getTests();
        System.out.println(aa.get(0));
        System.out.println(aa.get(1));
    }
查询结果

技术图片

mybatis返回多结果集

标签:测试   call   ima   str   obj   inf   resultmap   类型   bug   

原文地址:https://www.cnblogs.com/shaoyu/p/11853394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!