Java 是否关闭结果集的光标?

Java 是否关闭结果集的光标?,java,jdbc,io,transactions,Java,Jdbc,Io,Transactions,来自oracle java教程: 下面的语句指定ResultSet的游标 从getPrice查询生成的对象在提交时关闭 方法被调用。请注意,如果您的DBMs不支持 ResultSet.CLOSE\u CURSORS\u在提交时,则忽略此常量: 这是否意味着ResultSet.CLOSE\u CURSORS\u AT\u COMMIT关闭ResultSet? 从名称中可以看出,它只是关闭结果集的游标。。如果是这样,那又有什么用呢? PS:我知道在con.commit()之后发生的任何事情的结束。但

来自oracle java教程:

下面的语句指定ResultSet的游标 从getPrice查询生成的对象在提交时关闭 方法被调用。请注意,如果您的DBMs不支持 ResultSet.CLOSE\u CURSORS\u在提交时,则忽略此常量:

这是否意味着
ResultSet.CLOSE\u CURSORS\u AT\u COMMIT
关闭
ResultSet
? 从名称中可以看出,它只是关闭结果集的游标。。如果是这样,那又有什么用呢? PS:我知道在
con.commit()
之后发生的任何事情的结束。但是什么东西会被关闭呢?光标?光标是什么意思?
提前感谢。

只有在调用提交方法后,光标才会关闭。

下面是说明:

该常量指示在提交当前事务时,具有此保持性的open ResultSet对象将关闭


因此,是的,结果集本身将被关闭。

关于游标:
说明什么是光标;Wiki解释什么是与数据库视图中的结果集相关的游标。

从JDBC程序员的角度来看:

您可以通过光标访问ResultSet对象中的数据。注意 此游标不是数据库游标。此光标是一个 指向结果集中的一行数据。最初,光标是 位于第一行之前。方法ResultSet.next将移动 将光标移到下一行。如果光标为空,则此方法返回false 位于最后一行之后。此方法重复调用 使用while循环迭代所有 结果集中的数据


关于语句。在提交时关闭游标

语句。在提交时关闭游标:表示打开的常量
具有此保持性的ResultSet对象将在
当前交易已提交。

此操作发生时关闭游标 方法可以为某些应用程序带来更好的性能 应用程序

所以是的,光标将(理论上)关闭;我理论上写作是因为

如果DBMs不支持ResultSet.CLOSE\u CURSORS\u AT\u COMMIT,则 该常数被忽略


我明白,但为什么只关闭光标?它的范围是什么?这可能意味着关闭整个结果集吗?您好,在本例中,如果您调用commit,整个结果集将被关闭(在您调用commit()方法之后),您将无法再从中读取。
getPrice = con.prepareStatement(query, ResultSet.CLOSE_CURSORS_AT_COMMIT);