【问题标题】:Paging a ArrayList or Result Set对 ArrayList 或结果集进行分页
【发布时间】:2013-05-13 01:41:53
【问题描述】:

我有一个sql.query(myquery, []{Resultset rs -> while(rs.next() { *xml parsing and assigning here*} 返回一个相当大的 xml 结果集,然后将其解析并放入一个 ArrayList。 2000-10k 结果。我正在用这些结果填充一个 html 表。有没有什么好方法可以传递分页参数?我可以让页面按钮以正确的数量显示(例如找到 2285 个项目,因此显示 229 页。由于每页需要 10 个)。但是所有项目都显示出来了。

上次我使用 find all 对函数进行分页。我必须做的是两次运行该查询。一个传入参数,一个找到行数。该方法似乎不起作用,而且听起来很糟糕,因为这个查询要大得多。大多数在线示例都使用 Object.list(params) 函数,这对我不起作用。有人建议我将整个结果集加载到内存中,然后再将其分页,但不确定我将如何去做。

有什么建议或例子吗?

【问题讨论】:

标签: sql groovy pagination paging


【解决方案1】:

您可以使用sql.eachRowsql.rows,将offsetmaxRows 作为参数。这是其用法的example

【讨论】:

  • 将我的查询更改为 sql.eachRow(my query, [], 10, 0){Resultset rs ->... 并得到 Class com.ibm.db2.jcc.a.SqlException Message [ jcc][t4][10120][10898][4.0.100] 无效操作:结果集已关闭。 ERRORCODE=-4470,SQLSTATE=null
  • eachRow 根据row 调用闭包。您需要 rows 代替您的用例。再看看这个例子。
  • stackoverflow.com/questions/16552839/… 这更深入地介绍了我的查询以及它发生了什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-20
  • 2019-06-24
相关资源
最近更新 更多