2012-01-05 130 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