Java MySQL通过ResultSet向后迭代

时间:2015-07-17 22:21:18

标签: java mysql

我已经执行了一个查询,该查询返回了我想要向后迭代的ResultSet数据。在for循环中,它看起来像这样:

for (int i = MAX; i >=0; i--){
     // do something
}

唯一的问题是我的数据库中没有一个完全顺序的列,而是我有一个唯一的ID,但有时会跳过数字。那么,使用实际的结果集,是否有某种方法可以while(set.next()) {...}但反过来?感谢。

1 个答案:

答案 0 :(得分:6)

如果您有可滚动的结果集,则可以向后遍历结果集。您可以通过执行此操作

创建语句时

ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_READ_ONLY

然后你可以使用resultset.last()来获取最后一个条目并使用resultset.previous()

向后遍历

编辑:如果您希望结果按照您提到的非顺序ID的降序排列,则可以通过执行order by id desc以降序检索结果集,然后正常遍历结果集