Java MySQL通过ResultSet向后迭代

FaT*_*bez 3 java mysql

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

for (int i = MAX; i >=0; i--){
     // do something
}
Run Code Online (Sandbox Code Playgroud)

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

Shr*_*van 6

如果你有一个可滚动的结果集,你可以向后遍历结果集.你可以这样做

ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_READ_ONLY在创建语句时.

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

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