可滚动的结果集

         可滚动的结果集,也就就是说我们在读取数据库中的记录时不用逐个逐个的读取,而可以根据我们的具体需要跳过几条记录再进行读取

         所要用到的ResultSet中的两个属性:TYPE_SCROLL_INSENSITIVE(对滚动不敏感)。其中scroll译作滚动,sensitive译作敏感,insensitive译作不敏感的。另一个属性:CONCUR_READ_ONLY(并发访问时只读)。其中concur译作同时发生,即并发,即当并发访问结果集的时候只能够只读访问,也就是只能读取里面的内容,不能做更改!

        使用方式如下,就是在创建Statement时使用上面的两个参数,
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
这样以后,在创建一个结果集(ResultSet)的引用rs之后就可以使用结果集的某些使游标任意滚动的方法
具体代码如下:
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:oracle12c", "c##scott",
"tiger");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from test");
rs.next();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.isAfterLast());
System.out.println(rs.getRow());
rs.previous();
System.out.println(rs.getString(1));
rs.absolute(2);
System.out.println(rs.getString(1));

rs.last() //使游标指向最后一行记录

Rs.isLast() //判断是否指向最后一行记录

Rs.isAfterLast() //判断是否指向最行一行记录的上面一行,即倒数第二行

Rs.getRow()  //返回当前游标所指向的是第几行

Rs.previous() //使游标指向当前所指向的行的上一行

Rs.absolute(int x) // 使游标直接指向第x行



你可能感兴趣的:(jdbc可滚动的结果集)