来自this oracle java教程:
以下语句指定ResultSet的游标 从getPrice查询生成的对象在提交时关闭 方法被调用。请注意,如果您的DBM不支持 ResultSet.CLOSE_CURSORS_AT_COMMIT,然后忽略此常量:
getPrice = con.prepareStatement(query, ResultSet.CLOSE_CURSORS_AT_COMMIT);
是否ResultSet.CLOSE_CURSORS_AT_COMMIT
关闭了ResultSet
?
从名称看来它只是关闭了ResultSet的cursore ..如果是这样的话会有什么用处呢?
PS:我知道在con.commit()
之后发生的任何事情的结束。但实际上是什么关闭?光标?光标是什么意思?
提前谢谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
只有在调用commit方法后才关闭游标。
答案 2 :(得分:0)
关于光标:
Here解释什么是光标; Wiki解释了与数据库视图中的结果集相关的游标是什么。
从JDBC程序员视图:
您可以通过游标访问ResultSet对象中的数据。注意 此游标不是数据库游标。这个游标是一个指针 指向ResultSet中的一行数据。最初,光标是 位于第一行之前。 ResultSet.next方法移动了 光标到下一行。如果光标是,则此方法返回false 位于最后一排之后。这种方法反复调用 带有while循环的ResultSet.next方法迭代遍历所有 ResultSet中的数据。
关于Statement.CLOSE_CURSORS_AT_COMMIT
Statement.CLOSE_CURSORS_AT_COMMIT
:表示打开的常量 具有此可保持性的ResultSet对象将在关闭时关闭 当前交易已经提交。
关闭游标时 调用方法可以为某些人带来更好的性能 应用
是的,光标将(理论上)关闭;我在理论上写道是因为
如果您的DBM不支持ResultSet.CLOSE_CURSORS_AT_COMMIT,那么 忽略这个常数