Sie Unter der Annahme, beziehen sich auf JdbcTemplate:
jdbcTemplate.execute(
new CallableStatementCreator() {
public CallableStatement createCallableStatement(Connection con) throws SQLException{
CallableStatement cs = con.prepareCall("{call MY_STORED_PROCEDURE(?, ?, ?)}");
cs.setInt(1, ...); // first argument
cs.setInt(2, ...); // second argument
cs.setInt(3, ...); // third argument
return cs;
}
},
new CallableStatementCallback() {
public Object doInCallableStatement(CallableStatement cs) throws SQLException{
cs.execute();
return null; // Whatever is returned here is returned from the jdbcTemplate.execute method
}
}
);
Aufruf einer Funktion ist fast identisch:
jdbcTemplate.execute(
new CallableStatementCreator() {
public CallableStatement createCallableStatement(Connection con) {
CallableStatement cs = con.prepareCall("{? = call MY_FUNCTION(?, ?, ?)}");
cs.registerOutParameter(1, Types.INTEGER); // or whatever type your function returns.
// Set your arguments
cs.setInt(2, ...); // first argument
cs.setInt(3, ...); // second argument
cs.setInt(4, ...); // third argument
return cs;
}
},
new CallableStatementCallback {
public Object doInCallableStatement(CallableStatement cs) {
cs.execute();
int result = cs.getInt(1);
return result; // Whatever is returned here is returned from the jdbcTemplate.execute method
}
}
);
Frühling hat eine Persistenz-Framework? Beziehen Sie sich auf Spring JdbcTemplate? Oder Hibernate? –
Ich habe DPTK verwendet, um Persistence Framework und Spring's Query Factory zu erstellen. Jetzt möchten Sie Oracle-Funktion oder gespeicherte Prozedur mit vorhandenen Funktionen aufrufen, können Sie mir helfen, dies zu sortieren. –
DPTK scheint ein IBM-Produkt zu sein: http://www.alphaworks.ibm.com/tech/dptk –