首先,返回单行值得存储过程
public void method2(){
conn = getConn();
String sql = "call pro3(?,?)";
try {
CallableStatement cs = conn.prepareCall(sql);
cs.registerOutParameter(1, Types.VARCHAR);
cs.setInt(2, 2);
cs.execute();
String get = cs.getString(1);
System.out.println(get);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}然后,返回多行值的存储过程
public void method3(){
conn = getConn();
String sql = "call pro2(?)";
try {
CallableStatement cs = conn.prepareCall(sql);
cs.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
rs = (ResultSet) cs.getObject(1);
while(rs.next()){
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}驱动连接的这里就不写了;主要是JDBC写存储过程不多