Java 调用 Oracle 存储过程方法示例
下面是一个示例代码,用于调用 Oracle 存储过程:
public void callProcedure() {
Connection conn = null;
CallableStatement cs = null;
try {
// 获取数据库连接
conn = getConnection();
// 调用存储过程
cs = conn.prepareCall('{call PROCEDURE_NAME(?, ?, ?, ?)}');
cs.setString(1, 'parameter1');
cs.setString(2, 'parameter2');
cs.setString(3, 'parameter3');
cs.registerOutParameter(4, Types.VARCHAR);
cs.execute();
// 获取输出参数的值
String result = cs.getString(4);
// 处理返回值
System.out.println('Result: ' + result);
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (cs != null) {
cs.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在上面的代码中,getConnection() 方法用于获取数据库连接。PROCEDURE_NAME 表示要调用的存储过程的名称。在调用存储过程时,需要设置输入参数的值,并通过 registerOutParameter() 方法注册输出参数的类型。然后,调用 execute() 方法执行存储过程。最后,通过 getString() 方法获取输出参数的值。
注意,在使用 CallableStatement 调用存储过程时,需要使用'{call 存储过程名称(?,?,...)}'的格式指定要调用的存储过程。其中,问号表示输入或输出参数的占位符。具体的参数值需要通过 setXXX() 方法设置。
原文地址: https://www.cveoy.top/t/topic/m9Fq 著作权归作者所有。请勿转载和采集!