【问题标题】:Pagination with large number of records包含大量记录的分页
【发布时间】:2016-04-08 07:02:29
【问题描述】:

我有一个场景,我需要从数据库中获取大量记录并在 ui 中显示。我有以下两种可能的解决方案。你能帮我选一个更好的吗? 1. 从数据库中获取所有记录并将其保存在内存中,并在 ui 上仅显示所需数量的记录。 2.使用hibernate分页只获取需要显示到ui的少数记录。

我可以使用 display-tag 库或 jquery 进行分页。

提前致谢。

【问题讨论】:

  • 最好有分页。一旦用户更改页面,您就可以从数据库中获取数据。在第一种情况下,如果您同时从数据库中获取所有数据,则意味着加载需要更多时间。

标签: jquery hibernate pagination displaytag


【解决方案1】:

如果您将获取的数据加载到table 装置中,

  1. 查找记录总数并设置页数

2.换页时获取表的data-offset和data-limit值并从db中获取数据

  1. 根据页码更改表格的数据偏移值

【讨论】:

    【解决方案2】:

    对其他答案的一些补充说明。

    1. 使用display tag,您可以使用AjaxTags JavaScript-JSP Library 中的ajax:displayTag 通过AJAX 加载页面。我们的团队大量使用它。
    2. 这个简单的类可用于为 Hibernate 指定分页参数:Pagination
    3. 请记住,在现实生活中,您将使用带有连接的请求。对于此类请求,不可能使用分页。 Hibernate 将加载内存中的所有记录并从内存中为您返回分页数据。在这种情况下,最好先对ids 进行分页,然后通过ids 加载数据。

    【讨论】:

      【解决方案3】:

      最好有分页。使用索引并相应地获取数据。 你可以参考this文档了解更多

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        • 2020-09-15
        • 1970-01-01
        相关资源
        最近更新 更多