我已经执行了一个查询,该查询返回了我想要向后迭代的ResultSet
数据。在for循环中,它看起来像这样:
for (int i = MAX; i >=0; i--){
// do something
}
唯一的问题是我的数据库中没有一个完全顺序的列,而是我有一个唯一的ID,但有时会跳过数字。那么,使用实际的结果集,是否有某种方法可以while(set.next()) {...}
但反过来?感谢。
答案 0 :(得分:6)
如果您有可滚动的结果集,则可以向后遍历结果集。您可以通过执行此操作
创建语句时 ResultSet.TYPE_SCROLL_INSENSITIVE
和ResultSet.CONCUR_READ_ONLY
。
然后你可以使用resultset.last()来获取最后一个条目并使用resultset.previous()
向后遍历编辑:如果您希望结果按照您提到的非顺序ID的降序排列,则可以通过执行order by id desc
以降序检索结果集,然后正常遍历结果集