存储过程的调用
程序调用,指定返回值类型 OracleTypes.
java调用存储过程
package demo.oracle;
import java.sql.CallableStatement;
import java.sql.Connection;
import org.junit.jupiter.api.Test;
import demo.utils.JDBCUtils;
import oracle.jdbc.internal.OracleTypes;
public class TestProcedure {
@Test
public void testProcedure() {
String sql = "{call empinform(?,?,?,?)}";
Connection conn = null;
CallableStatement call = null;
try {
conn = JDBCUtils.getConnection();
call = conn.prepareCall(sql);
call.setInt(1,7839);
call.registerOutParameter(2, OracleTypes.VARCHAR);
call.registerOutParameter(3, OracleTypes.NUMBER);
call.registerOutParameter(4, OracleTypes.VARCHAR);
call.execute();
String name = call.getNString(2);
double sal = call.getDouble(3);
String job = call.getNString(4);
System.out.println(name+"\t"+sal+"\t"+job);
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(conn, call, null);
}
}
}