--oracle存储过程代码
create or replace procedure out_cursor(res out sys_refcursor , in_para in number) is
begin
open res for select * from c where c.c = in_para;
end out_cursor;
/
--Java代码
package com.pro.demo;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import com.pro.util.JDBCUtil;
public class Demo {
public static void main(String[] args) throws SQLException {
Connection conn = JDBCUtil.getConnection();
CallableStatement cstmt = conn.prepareCall("{call out_cursor(?,?)}");
cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
cstmt.setInt(2, 1);
cstmt.execute();
ResultSet rs = (ResultSet)cstmt.getObject(1);
while(rs.next()) {
System.out.print(rs.getString(1));
System.out.print("-----");
System.out.println(rs.getString(2));
}
}
}