2012-01-05 135 views

回答

3

是:

QueryRunner run = JDBCConnectionFactory.getQueryRunner(database); 
Connection conn = run.getDataSource().getConnection(); 
CallableStatement cs = conn.prepareCall("{CALL procName()}"); 
ResultSet rs = cs.executeQuery(); 
JongoResultSetHandler handler = new JongoResultSetHandler(true); 
return handler.handle(rs); 

这里我用一个实例QueryRunner,因为这是由DBUtils设法获得它的连接。请记住关闭连接,异常处理等。

希望这会有所帮助。

+1

简而言之,这是不可能的,因为没有一个'AbstractQueryRunner'实现不支持任何存储过程调用。 – 2013-01-02 21:56:07

0

是因为它只是使用JDBC - 你需要一个JDBC driver for Oracle

+0

CallableStatements的API调用是什么?我在dbUtils源代码中看不到CallableStatement的用法。 – Vlad 2012-01-05 12:14:49

+0

它根本不处理语句,它隐藏了你 - 如果你需要CallableStatements使用普通的JDBC来调用 - 虽然ResultSetHandler仍然可以使用 – Mark 2012-01-05 12:19:24

+0

感谢Mark,但是由于CallableStatement需要调用一个存储过程而不会dbutils支持它? – 2012-01-05 12:23:34