调用存储过程 返回游标 实例
2018-03-07 13:56
363 查看
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Connection con = this.getSession().connection();
CallableStatement sp;
try {
sp = con.prepareCall("{call Fsp_Plan_CheckPrj(?,?,?)}");
sp.setString(1, ObjectUtils.toString(params.get("grantNo")));
sp.setLong(2, NumberUtils.toLong(ObjectUtils.toString(params.get("offOrgCode"))));
sp.registerOutParameter(3, OracleTypes.CURSOR);
sp.execute(); // 执行存储过程
ResultSet rs = (ResultSet) sp.getObject(3); // 获取返回的对象,再将对象转为记录集 3代表哪个参数
while (rs.next()) {
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("plan_code", ObjectUtils.toString(rs.getObject(1)));
resultMap.put("plan_dept", ObjectUtils.toString(rs.getObject(2)));
resultMap.put("plan_amount", IrisStringUtils.FormatMoney(ObjectUtils.toString(rs.getObject(3))));
resultMap.put("exec_amount", IrisStringUtils.FormatMoney(ObjectUtils.toString(rs.getObject(4))));
resultMap.put("plan_name", ObjectUtils.toString(rs.getObject(5)));
resultMap.put("dept_name", ObjectUtils.toString(rs.getObject(6)));
list.add(resultMap);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
Connection con = this.getSession().connection();
CallableStatement sp;
try {
sp = con.prepareCall("{call Fsp_Plan_CheckPrj(?,?,?)}");
sp.setString(1, ObjectUtils.toString(params.get("grantNo")));
sp.setLong(2, NumberUtils.toLong(ObjectUtils.toString(params.get("offOrgCode"))));
sp.registerOutParameter(3, OracleTypes.CURSOR);
sp.execute(); // 执行存储过程
ResultSet rs = (ResultSet) sp.getObject(3); // 获取返回的对象,再将对象转为记录集 3代表哪个参数
while (rs.next()) {
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("plan_code", ObjectUtils.toString(rs.getObject(1)));
resultMap.put("plan_dept", ObjectUtils.toString(rs.getObject(2)));
resultMap.put("plan_amount", IrisStringUtils.FormatMoney(ObjectUtils.toString(rs.getObject(3))));
resultMap.put("exec_amount", IrisStringUtils.FormatMoney(ObjectUtils.toString(rs.getObject(4))));
resultMap.put("plan_name", ObjectUtils.toString(rs.getObject(5)));
resultMap.put("dept_name", ObjectUtils.toString(rs.getObject(6)));
list.add(resultMap);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
相关文章推荐
- mybatis 调用存储过程 返回游标 实例
- mybatis 调用存储过程 返回游标 实例
- hibernate 调用存储过程 返回游标 实例
- mybatis 调用存储过程 返回游标 实例
- mybatis 调用存储过程 返回游标 实例
- mybatis 调用存储过程 返回游标 实例
- 存储过程调用存储过程,存储过程调用函数,返回表表变量,游标使用
- ibatis 调用存储过程返回游标sys_refcursor
- java通过prepareCall调用oracle返回游标的存储过程
- PostgreSQL中调用存储过程并返回数据集实例
- jdbc调用存储过程-oracle版 返回游标
- hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程
- iBatis调用返回两个游标的存储过程处理方法
- spring boot mybatis 注解调用存储过程,接收游标返回数据集
- JDBC调用存储过程并返回游标
- 在一个存储过程中调用返回一个游标的另一个存储过程
- oracle 动态调用存储过程,返回游标类型
- c#调用Oracle存储过程返回的游标结果代码实例
- 存储过程调用或接受另一存储过程返回的游标数据(Sys_refcursor类型)
- Mybaits结合Oracle调用存储过程返回游标的两种方法