//oralce存储过程示例
create or replace procedure mycur(o out sys_refcursor)
as
begin
open o for select * from emp;
end;
//mysql存储过程示例
create or replace procedure xx()
begin
select * from person;
end;
Java测试代码如下:
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.OracleTypes;
public class TestNew {
/**
* @param args
*/
public static void main(String[] args) {
// //oracle调用存储过程
// String sql = "jdbc:oracle:thin:@127.0.0.1:1521:LEE";
// try {
// Class.forName("oracle.jdbc.driver.OracleDriver");
//
// Connection conn = DriverManager.getConnection(sql,"scott","tiger");
// CallableStatement stmt = conn.prepareCall("{call MYCUR(?)}");
// stmt.registerOutParameter(1, OracleTypes.CURSOR);
//
// stmt.execute();
//
// ResultSet rs = (ResultSet)stmt.getObject(1);
// while(rs.next()){
// System.out.print (rs.getString("ename"));
// System.out.print (" , ");
// System.out.println (rs.getString("job"));
// }
//
//
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException e) {
// e.printStackTrace();
// }
//mysql调用存储过程
String url = "jdbc:mysql://127.0.0.1:3306/test";
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection conn = DriverManager.getConnection(url, "root","");
CallableStatement stmt = conn.prepareCall("{call xx()}");
stmt.execute();
ResultSet rs = (ResultSet)stmt.getResultSet();
while(rs.next()){
System.out.print (rs.getString(1));
System.out.print (" , ");
System.out.println (rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private TestNew() {
}
}