Java ResultSet.TypeForwardOnly和ResultSet.TypeScrollable之间的差异

Java ResultSet.TypeForwardOnly和ResultSet.TypeScrollable之间的差异,java,mysql,jdbc,resultset,Java,Mysql,Jdbc,Resultset,ResultSet.TYPE\u FORWARD\u ONLY和ResultSet.TYPE\u SCROLL\u Resoll\u Resoll\u不敏感之间的区别是什么。 因为我知道forward_only是不可滚动的,但我想要一个示例来说明forward_如何只向前移动光标而不可滚动,以及Scroll_only是如何可滚动的 ResultSet.TYPE_FORWARD_ONLY ResultSet.TYPE_SCROLL_INSENSITIVE 键入_FORW

ResultSet.TYPE\u FORWARD\u ONLY和ResultSet.TYPE\u SCROLL\u Resoll\u Resoll\u不敏感之间的区别是什么。 因为我知道forward_only是不可滚动的,但我想要一个示例来说明forward_如何只向前移动光标而不可滚动,以及Scroll_only是如何可滚动的

      ResultSet.TYPE_FORWARD_ONLY
       ResultSet.TYPE_SCROLL_INSENSITIVE

键入_FORWARD_仅表示只能在结果集中向前移动。使用可滚动光标,还可以向后移动到以前看到的行。光标的灵敏度(对更改)指定对以前看到的行的更改是否反映在结果集中


类型_FORWARD _only和类型_SCROLL _INSENSITIVE的唯一区别在于,您可以使用类型_SCROLL _INSENSITIVE在结果集中自由移动。像previous()、first()、absolute(n)这样的方法不会像只向前的结果集那样抛出异常。

当我使用像previous()、first()这样的方法时,我没有得到异常。。仅针对类型_FORWARD_,我得到的输出与类型_SCROLL_不敏感的输出类似。因此,我感到困惑并提出了上述问题。MySQL驱动程序(在默认设置下)将整个结果集读取到内存中,因此即使未被请求,也允许滚动行为。如果您查看JDBC文档,您将看到一个关于滚动方法异常的注释:“SQLException-如果发生数据库访问错误;此方法在关闭的结果集上调用,或者结果集类型为“仅前推”类型”,因此其Mysql允许滚动行为,即使我在CreateStation()中提出“Resultset.FORWARD\u ONLY”,谢谢你澄清我的疑问。如果你要使用“useCursorFetch”选项,这将使用一个准备好的语句并以块的形式获取数据(获取大小)。这称为“流”结果集,不允许您向后移动。