存储过程 多条结果集处理

  public List getDataSet(String str1,String str2,String str3,int str4,int str5,String str6){
    List dataList = new ArrayList<Object>();
   
    Connection connection = getConn();
      ResultSet rs = null;
     try{
      CallableStatement proc = connection.prepareCall("{call procGetDeviceStateInfo(?,?,?,?,?,?)}");
      // 设置输入参数 '','','',-1,1, '1'
      proc.setString(1,str1);
      proc.setString(2,str2);
      proc.setString(3,str3);
      proc.setInt(4,str4);
      proc.setInt(5,str5);
      proc.setString(6,str6);
      proc.execute();
      // 取出存储过程的结果集
 boolean hasResult = true;
    /*while (hasResult) {
         rs = proc.getResultSet();
            while(rs.next()) {
               System.out.println("第一个字段值为:"+rs.getString(1));
                }
             hasResult = proc.getMoreResults();
      }*/
 
 while (hasResult){
 rs = proc.getResultSet();
     ResultSetMetaData rsmd=(ResultSetMetaData) rs.getMetaData();
    List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
     while(rs.next()){ 
     Map<String,Object> map=new HashMap<String,Object>();//每行记录放到一个
     for(int i=1;i<=rsmd.getColumnCount();i++){
         map.put(rsmd.getColumnName(i), rs.getObject(i));
       }
        list.add(map);
        System.err.println("list.size()"+list.size());
       }
     dataList.add(list);
     System.err.println("dataList.size()"+dataList.size());
     hasResult = proc.getMoreResults();
    }
        connection.close();
     }catch (SQLException e){
      e.printStackTrace();
     }
     
 return dataList;  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值