Skip to content

How to call Oracle stored procedures from Java

Using CallableStatement

Get connection from Spring DataSourceUtils
import org.springframework.jdbc.datasource.DataSourceUtils;

Connection con =  DataSourceUtils.getConnection(dataSource);                
String procedureRef = "somePackage" + "." + "someProcedure";
CallableStatement cstmt = con.prepareCall("{call " + procedureRef + "(?,?)" + "}");
cstmt.setInt(1, inParam1);
cstmt.setInt(2, inParam2);
cstmt.execute();
con.commit();

DataSourceUtils.releaseConnection(con, dataSource)
Get connection from HibernateDaoSupport
Connection con = getSession().connection();
String procedureRef = packageName + "." + procedureName;
CallableStatement cstmt = con.prepareCall("{call " + procedureRef + "}");
cstmt.execute();        
con.commit();