执行存储过程,返回一个游标结果集,并把游标结果集取出来放入一个list中返回
public List getProcedureValues(String procedure, Object[] o) {
List list = new ArrayList();
Connection con = null;
CallableStatement ps = null;
ResultSet rs = null;
try {
con = getSession().connection();
ps = con.prepareCall(procedure);
ps.registerOutParameter(1, OracleTypes.CURSOR);
for(int i = 0; i < o.length; i++) {
if(null == o[i] || "".equals(o[i].toString().trim()) || "*".equals(o[i].toString().trim())) {
ps.setNull(i+2, Types.VARCHAR);
} else {
ps.setObject(i+2, o[i]);
}
}
ps.execute();
rs = (ResultSet) ps.getObject(1);
while(rs.next()) {
Map base = new LinkedHashMap(100);
ResultSetMetaData data = rs.getMetaData();
for(int i = 1; i < (data.getColumnCount()+1); i++) {
String name = data.getColumnName(i);
Object obj = rs.getObject(name);
base.put(name.toLowerCase(), obj!=null?obj:"");
}
list.add(base);
}
rs.close();
ps.close();
} catch(Exception e) {
e.printStackTrace();
throw new RuntimeException("根据sql查询失败\r\n" + e.getMessage());
}
return list;
}
分享到:
相关推荐
存储过程中通过返回数据集,通过游标方式实现,以及在java中如何接收的整个过程
Oracle存储过程、游标、函数的详解
Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标
ibatis调存储过程返回游标,资料整理
存储过程触发器 游标是数据库中的一个重要触发器,该篇讲述触发器详细,偏于广大学者学习参考。
oracle 的函数、存储过程、游标、简单实例 oracle常用语句oracle 的函数、存储过程、游标、简单实例 oracle常用语句
自己做的存储过程含游标例子,对于初学存储过程和游标的人有帮助
入参是字符串格式的xml,目的是解析xml节点值,作为数据库检索where条件,检索出数据库记录,利用四个游标返回四个数据集,然后用groovy脚本将四个游标数据集解析成json出参中对应的四个节点值。出参json有两层结构...
利用游标返回结果集的的例子(Oracle 存储过程).doc 利用游标返回结果集的的例子(Oracle 存储过程).doc 利用游标返回结果集的的例子(Oracle 存储过程).doc
(1)编写一个存储过程“某学生某课程考试成绩信息”输入学号和姓名,查询学生的姓名,课程名和考试成绩。 (2)创建存储过程“填班级人数”,根据学生表,修改班级表中的班级人数。
存储过程和游标详解.希望能帮助大你们,很好!
如题,初步研究了pl/sql的写法,现给出存储过程,游标等的使用,后续会给出其他的用法
SqlServer存储过程、游标讲解SqlServer存储过程、游标讲解
NULL 博文链接:https://fruitking.iteye.com/blog/1447333
oracle存储过程使用游标对多表操作例子
Mysql存储过程游标触发器
NULL 博文链接:https://sxpujs.iteye.com/blog/376972
详细介绍了存储过程和游标的使用 带N多个实例 一幕了然 学习存储过程必备
sql语句基本的对游标和存储过程的运用,可以更好的学习sql的精华,特别是在读取数据时,可以通过游标进行读取和数据的处理。