java 接收存储过程返回的多个结果集以及相应的处理

一.需求:

    使用存储过程查询数据库,返回了多个结果集,需要使用java接收和处理。并且展示到前端页面

二.环境:

  springboot+mybatis

三.解决过程:

  1.   存储过程: 
<!--返回结果集的配置-->
<!--column:数据库列的字段名称
    jdbcType:数据库字段类型
     property:实体类字段
      javaType:实体类字段类型-->
<!-- statementType="CALLABLE" 这个是必须要的-->
<resultMap type="com.demo.test" id="result1">
        <result column="user"   jdbcType="VARCHAR" property="user" javaType="String" />
        <result column="age"   jdbcType="INTEGER" property="age" javaType="Integer" />
        <result column="money"   jdbcType="FLOAT" property="phone" javaType="Double" />
</resultMap>

 <resultMap type="com.demo.test" id="result2">
         <result column="user"   jdbcType="VARCHAR" property="user" javaType="String" />
        <result column="age"   jdbcType="INTEGER" property="age" javaType="Integer" />
        <result column="money"   jdbcType="FLOAT" property="phone" javaType="Double" />  
 </resultMap>
  <resultMap type="com.demo.test" id="result3">
       <result column="user"   jdbcType="VARCHAR" property="user" javaType="String" />
        <result column="age"   jdbcType="INTEGER" property="age" javaType="Integer" />
        <result column="money"   jdbcType="FLOAT" property="phone" javaType="Double" />
    </resultMap>

<!-- sql-->

<select id="getlist" statementType="CALLABLE" parameterType="com.demo.test" resultMap="result1,result2,result3">
      exec test
         @username= #{username}
    </select>

2.dao层接收

  

 public List<List<test>> getlist(Test test);

3.server处理:

  循环遍历或者直接输出,视业务情况而定。

猜你喜欢

转载自blog.csdn.net/qq_24607837/article/details/81096499