通过游标读取oracle存储过程返回的结果集

 public JhSkyZgTkRequest getTsthsDate() {
//  Session session = this.getSessionFactory().openSession();
  Connection conn = null;
  JhSkyZgTkRequest jhSkyZgTkRequest = new JhSkyZgTkRequest();
  ResultSet rs = null;
  CallableStatement st = null;
  PlTkItem plTkItem = null;
  try {
   conn = newOracleConn.getOracleConn();
   String proc = "{call PKG_RTN_CURSOR.SKY_Get_tsths(?)}";
   st = conn.prepareCall(proc);
   st.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);  
   st.execute();
   StringBuffer sb = new StringBuffer();
    rs=(ResultSet)   st.getObject(1);  
   while (rs.next()) {
    plTkItem = new PlTkItem();
    plTkItem.setTkpzHm(rs.getString("tkpzHm"));
    plTkItem.setYxtsphm(rs.getString("yxtsphm"));
    plTkItem.setYshm(rs.getString("yshm"));
    String date = rs.getString("kprq");
    date = date.substring(0, 10);
    date = date.replaceAll("-", "");
    plTkItem.setKprq(date);
    plTkItem.setKpje(rs.getDouble("kpje"));
    plTkItem.setZsjgDm(rs.getString("zsjgdm"));
    plTkItem.setZsjgQc(rs.getString("zsjgqc"));
    plTkItem.setTkgkDm(rs.getString("tkgkdm"));
    plTkItem.setTkgkMc(rs.getString("tkgkmc"));
    plTkItem.setSpzlDm(rs.getString("spzldm"));
    plTkItem.setSpzlMc(rs.getString("spzlmc"));
    plTkItem.setNsrsbh(rs.getString("nsrsbh"));
    plTkItem.setNsrmc(rs.getString("nsrmc"));
    plTkItem.setYhzlDm(rs.getString("yhzldm"));
    plTkItem.setSkkhhhh(rs.getString("skkhhhh"));
    plTkItem.setSkkhhMc(rs.getString("skkhhmc"));
    plTkItem.setYskmDm(rs.getString("yskmdm"));
    plTkItem.setYskmMc(rs.getString("yskmmc"));
    plTkItem.setYsfpblDm(rs.getString("ysfpblDm"));
    plTkItem.setYsfpblMc(rs.getString("ysfpblmc"));
    plTkItem.setYszl(rs.getString("yszl"));
    plTkItem.setYsjcDm(rs.getString("ysjcdm"));
    plTkItem.setZlqbz(rs.getString("zlqbz"));
    plTkItem.setFzbz(rs.getString("fzbz"));
    plTkItem.setTbyyDm(rs.getString("tbyydm"));
    plTkItem.setTkyyMc(rs.getString("tkyymc"));
    plTkItem.setTkyj(rs.getString("tkyj"));
    plTkItem.setSpjg(rs.getString("spjg"));
    plTkItem.setPzwh(rs.getString("pzwh"));
    plTkItem.setZzlx(rs.getString("zzlx"));
    plTkItem.setZsxmDm(rs.getString("zsxmdm"));
    plTkItem.setZsxmMc(rs.getString("zsxmmc"));
    plTkItem.setZspmDm(rs.getString("zspmdm"));
    plTkItem.setZspmMc(rs.getString("zspmmc"));
    plTkItem.setTtse(rs.getDouble("ttse"));
    plTkItem.setTkbz(rs.getString("tkbz"));
    plTkItem.setQdDm(rs.getString("qddm"));
    plTkItem.setSkrmc(rs.getString("skrmc"));
    plTkItem.setSkrzh(rs.getString("skrzh"));
    jhSkyZgTkRequest.addPlTkItem(plTkItem);
    sb.append(plTkItem.toString());
   }
   conn.commit();
   log.info("调用存储过程:SKY_Get_tsths()获取数据为"
     + jhSkyZgTkRequest.getPlTkItem().size() + "条.每条记录信息如下:"
     + sb.toString());
  } catch (Exception e) {
   try {
    conn.rollback();
   } catch (SQLException e1) {
    e1.printStackTrace();
   }
   log.error("调用存储过程:SKY_Get_tsths()发生错误,错误信息如下:" + e.getMessage());
   e.printStackTrace();
  } finally {
   try {
    if (st != null)
     st.close();
    if (conn != null)
     conn.close();
    
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  return jhSkyZgTkRequest;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值