可滚动ResultSet(JDBC)的createStatement参数之间的区别

Bis*_*jit 1 java jdbc

据我所知,可滚动ResultSet的语句对象如下所示.

Statement statement = connection.createStatement(P1, P2);
Run Code Online (Sandbox Code Playgroud)

这里P1可能需要

ResultSet.TYPE_SCROLL_SENSITIVE
ResultSet.TYPE_SCROLL_INSENSITIVE
Run Code Online (Sandbox Code Playgroud)

P2可能需要

ResultSet.CONCUR_READ_ONLY
ResultSet.CONCUR_UPDATABLE
Run Code Online (Sandbox Code Playgroud)

SCROLL_SENSIVITE或INSENSITIVE指示ResultSet的更新是否会影响实际数据库或Not.(READ_ONLY或Updatable的种类)

所以这两个参数都是相似的,我觉得它们是为了同样的目的而实现的.

它们有什么不同,或者我在这里遗漏了什么?

Kay*_*man 5

第二个参数CONCUR_*确定是否可以通过修改数据库ResultSet.TYPE_SCROLL_(IN)SENSITIVE确定滚动时是否可以看到对基础行所做的修改ResultSet.因此,INSENSITIVE为结果提供"快照"视图,它们永远不会改变.SENSITIVE提供"实时"视图,因此如果您长时间滚动结果,您可以看到与查询最初返回的值非常不同的值.

相关,但他们是"对立面".

  • 澄清第二句用"由**其他**制造"或类似的东西. (2认同)