JDBC ResultSet滚动敏感类型和结果集滚动不敏感类型

问题描述:

有人可以告诉我区别JDBC ResultSet滚动敏感类型和结果集滚动不敏感类型吗?JDBC ResultSet滚动敏感类型和结果集滚动不敏感类型

我们在哪里通常在项目中使用这些?

类型ResultSet对象的确定的其功能在两个区域的水平:在光标可以被操纵的方式,和到基础数据源做出如何并发变化反映通过ResultSet对象。

TYPE_SCROLL_INSENSITIVE

结果可以滚动;其光标可以向前移动,并且相对于当前位置向后移动 ,并且其可以移动到绝对位置 。结果集对底层数据源打开时对 所做的更改不敏感。它包含 在执行查询时或在检索 行时满足查询的行。

TYPE_SCROLL_SENSITIVE

结果可以滚动;其光标可以向前移动,并且相对于当前位置向后移动 ,并且其可以移动到绝对位置 。结果集反映在结果集保持打开状态时对基础数据源所做的更改。

请参阅javase tutorial了解更多详情。

结果集滚动敏感类型(TYPE_SCROLL_SENSITIVE):指定结果集可在任一方向滚动,并受同一事务中其他事务或语句所提交的更改影响。

结果集滚动不敏感类型(TYPE_SCROLL_INSENSITIVE):指定结果集可在任一方向滚动,但对其他事务或同一事务中的其他语句所提交的更改不敏感。

同时检查javadoc

可滚动结果集(TYPE_SCROLL_SENSITIVE)和不可滚动结果集(TYPE_SCROLL_INSENSITIVE)是基于敏感度的Resultset对象的两种类型。结果集是用于从Java EE应用程序访问数据库的对象。

ResultSet对象有一个游标,它最初并不指向任何记录。调用ResultSet的第一个()函数将光标移动到ResultSet对象所保存的第一条记录。 ResultSet的GET功能提供访问每一列的使用列名从数据库表

非滚动的ResultSet的内容只能在前进方向上从第一位置移动到最后一个元素,也不能直接移动到任何行数据库。

尽管可滚动结果集可以在两个方向上进行遍历,即向前或向后,还可以在任何时间点指向数据库中的任何行,这使得它更加灵活。

参考:difference between scroll-able ResultSet ans non-scroll-able ResultSet object?