如何spring jdbc 来连接并执行oracle 存储过程并返回结果

2025-03-03 12:02:46
推荐回答(1个)
回答(1):

如下哦,一个例子:

/**
 * 获取订单号
 * 
 * @param ptddh
 * @param jdbcTemplate
 * @return
 */
public String getCGDDH(final String ptddh, JdbcTemplate jdbcTemplate) {
String ddh = null;
try {
ddh = (String) jdbcTemplate.execute(new CallableStatementCreator() {
public CallableStatement createCallableStatement(Connection con)
throws SQLException {
String storedProc = "{call pro_cfxx (?,?)}";// 调用的sql
CallableStatement cs = con.prepareCall(storedProc);
cs.setString(1, ptddh);// 设置输入参数的值
cs.registerOutParameter(2, OracleTypes.VARCHAR);// 注册输出参数的类型
return cs;
}
}, new CallableStatementCallback() {
public Object doInCallableStatement(CallableStatement cs)
throws SQLException, DataAccessException {
cs.execute();
return cs.getString(2);// 获取输出参数的值
}
});
} catch (Exception e) {

}
return ddh;