zoukankan      html  css  js  c++  java
  • mybatis返回多结果集

    一、返回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));
        }
    
    查询结果
    

  • 相关阅读:
    《你一定爱读的极简欧洲史》
    PAT 1051. 复数乘法
    PAT 1050. 螺旋矩阵
    PAT 1049. 数列的片段和
    PAT 1048. 数字加密
    PAT 1047. 编程团体赛
    PAT 1046. 划拳
    PAT 1045. 快速排序
    PAT 1044. 火星数字
    PAT 1043. 输出PATest
  • 原文地址:https://www.cnblogs.com/shaoyu/p/11853394.html
Copyright © 2011-2022 走看看