可滚动的ResultSet类型 实现分页

可滚动的ResultSet类型。

这个类型支持前后滚动取得纪录next()、previous(),回到第一行first(),同时还支持要取的

ResultSet中的第几行 absolute(int n),以及移动到相对当前行的第几行relative(int n),要实

现这样的ResultSet在创建Statement时用如下的方法。

Statement st =conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr);

其中两个参数的意义是:
resultSetType是设置ResultSet对象的类型标示可滚动,或者是不可滚动。取值如下:
ResultSet.TYPE_FORWARD_ONLY  只能向前滚动(这是默认值)


ResultSet.TYPE_SCROLL_INSENSITIVE

ResultSet.TYPE_SCROLL_SENSITIVE
这两个方法都能够实现任意的前后滚动,使用各种移动的ResultSet指针的方法。二者的区别在于前者对于修改不敏感,而后者对于修改敏感。


resultSetConcurency是设置ResultSet对象能够修改的,取值如下:
ResultSet.CONCUR_READ_ONLY设置为只读类型的参数。
ResultSet.CONCUR_UPDATABLE设置为可修改类型的参数。
 

所以如果只是想要可以滚动的类型的Result只要把Statement如下赋值就行了。

Statement st =conn.createStatement(Result.TYPE_SCROLL_INSENITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.excuteQuery(sqlStr);

用这个Statement执行的查询语句得到的就是可滚动的ResultSet。

原文地址:https://www.cnblogs.com/firstdream/p/7732584.html