Luk*_*der 4 java oracle jdbc ref-cursor
许多 RDBMS 支持某种“CURSOR”类型。这些类型在从存储过程返回时最有用。Oracle 中的一个例子:
TYPE t_cursor_type IS REF CURSOR;
CREATE PROCEDURE p (c OUT t_cursor_type);
Run Code Online (Sandbox Code Playgroud)
当使用 JDBC 调用此过程时,OracleTypes.CURSOR = -10
应使用“JDBC”类型。该类型不属于任何标准,也不会成为 Java 7 中 JDBC 4.1 的一部分。
有谁知道 JSR 人员是否会考虑在将来某个时候将这种类型添加到标准中?或者其他 RDBMS 是否有类似的“供应商特定类型”?
Java 8/JDBC 4.2 中添加了对 REF CURSORS 的支持。Types.REF_CURSOR
使用游标返回类型的类型。它们可以通过ResultSet
接口进行迭代。例子:
CallableStatement cstmt = conn.prepareCall("{callmySproc(?)}");
cstmt.registerOutParameter(1, Types.REF_CURSOR);
cstmt.executeQuery();
ResultSet cursor = cstmt.getObject(1, ResultSet.class);
while(cursor.next()) {
System.out.println("Name = " + cursor.getString(1));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11479 次 |
最近记录: |