java调用存储过程

来源:互联网 发布:asp库存管理系统源码 编辑:程序博客网 时间:2024/06/05 01:52

java调用oracle存储过程获取存储过程传出参数:
第一种:单值返回(也就是返回单个的参数)
proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");
proc.setString(1, "100");
proc.registerOutParameter(2, Types.VARCHAR);

//为参数注值
proc.execute();//执行存储过程
String testPrint = proc.getString(2);//存储过程返回的结果
第二种:返回一个游标(也就是返回一行记录)
CallableStatement proc = null;
proc = conn.prepareCall("{ call hyq.testc(?) }");
proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);//如果是其他数据库的话(proc.registOutParameter(1,Types.Other))
proc.execute();//执行存储过程
rs = (ResultSet)proc.getObject(1);强制将游标类型转换成Object类型
while(rs.next()){
   System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");
}

java调用存储过程非常简单。以上两种情况包含大部分的应用实例。