Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Using fillStatement and the new fillStatementWithBean, you can use a CallableStatement like a PreparedStatement, retrieve its ResultSet and handle it with a ResultSetHandler. But we don't yet support registering "out" parameters on the CallableStatement in a convenient way and retrieving them back into an object.
DBUTILS-28 requests stored procedure support and provides a patch, but I don't like the patch. Regardless, we really should support a few helpers like:
void registerOutParameters(CallableStatement stmt, int... sqlTypes) Object[] getOutParameters(CallableStatement stmt) void registerOutParameters(CallableStatement stmt, Class<?> beanClass) <T> T getOutParameters(CallableStatement stmt, Class<T> beanClass)
You should be able to write code like this:
CallableStatement stmt = runner.prepareCall(myString); helper.registerOutParameters(stmt, MyBean.class); queryRunner.fillStatement(stmt, foo, bar, baz); stmt.executeUpdate(); MyBean bean = helper.getOutParameters(stmt, MyBean.class);
Or like this:
CallableStatement stmt = runner.prepareCall(myString);
helper.registerOutParameters(stmt, TINYINT, DECIMAL);
queryRunner.fillStatement(stmt, foo, bar, baz);
stmt.executeUpdate();
Object[] result = helper.getOutParameters(stmt);
Attachments
Attachments
Issue Links
- is duplicated by
-
DBUTILS-104 Add support for calling stored procs with return values
- Resolved
-
DBUTILS-28 [dbutils] Stored Procedure Runner and Bean Reuse Handler code submission
- Closed