当前位置: 首页 > 知识库问答 >
问题:

如何通过Hibernet Java Struts获取/优化用于数据分页的巨大容量

涂玉韵
2023-03-14

当前的问题:我们目前正试图从数据库中获取超过500k(五十万)条记录,然后我必须在JSP上显示每页50条记录(使用struts 2)。问题是加载需要很长时间,甚至有时不需要。一旦装载完毕,我们就能顺利航行。

需要的解决方案:喜欢按照分页定义的记录加载有限的记录,例如:每页最多加载100条记录。有人在struts或类似的框架中实现过类似的功能吗?我也不想一次得到所有的记录。请指导我如何实施?

共有2个答案

禹昆
2023-03-14

您可以使用jquerydatatable。它具有用于ajax加载的分页功能。所以,当你们点击下一页时,它会从数据库中加载下一条记录。为此,您需要添加Jquery库,如Jquery。数据表。min.jsjquery-ui-1.8.10。风俗min.jsjquery-1.4.4。min.jsjquery-1.4.2。min.jsjquery-ui-1.8.10。风俗css

JSP代码

<table id="reqAllQueriesTable" cellpadding="0" cellspacing="0" border="0" class="display" style="width: 100%;">
    <thead>
    <tr>
    <th style="display: none"></th>
    <th>&nbsp;</th>
    <th><spring:message code='Name'/></th>
    <th><spring:message code='runDate'/></th>
    th><spring:message code='noOfRec'/></th>
    </tr>
    </thead>
    <tbody>
    </tbody>
</table>

JavaScript

var oTable = $('#reqAllQueriesTable')
                .dataTable(
                        {
                            "bProcessing": true,
                            "bServerSide": true,
                            "sAjaxSource": "query/getQuery",
                            "bPaginate" : true,
                            "bScrollCollapse" : true,
                            "iDisplayLength" : 10,
                            "bFilter" : true,
                            "bJQueryUI" : true,
                            "sPaginationType" : "full_numbers",
                            "oLanguage" : {
                                "sLengthMenu" : "Display _MENU_ records per page",
                                "sZeroRecords" : "No  Queries found",
                                "sInfo" : "Showing _START_ to _END_ of _TOTAL_ records",
                                "sInfoEmpty" : "Showing 0 to 0 of 0 records",
                                "sInfoFiltered" : "(filtered from _MAX_ total records)"
                            },
                            "aaSorting" : [ [ 3, "desc" ] ],
                            "aoColumns" : [/*Id*/{
                                "bSearchable" : false,
                                "bVisible" : false
                            },
                            /*Id RadioButton*/{
                                "bSearchable" : false,
                                "bSortable" : false
                            },
                            /*Name*/null,
                            /*Run Date*/{
                                "sType" : "date"
                            },                          
                            {
                                "fnRender" : function(oObj) {

                                return '<input type="radio"  name="Id" value= "' + oObj.aData[0] + " "/>';
                                },
                                "aTargets" : [ 1 ]
                            }]
                        });
厉钊
2023-03-14

根据某些参数,每次请求只能获取100条记录。一次性获取所有记录需要很长时间。我使用查询和一些参数实现了分页。

 类似资料:
  • 本文向大家介绍你认为如何通过大数据优化电梯广告内容?相关面试题,主要包含被问及你认为如何通过大数据优化电梯广告内容?时的应答技巧和注意事项,需要的朋友参考一下 通过大数据获取: 1. 使用电梯的用户画像 包括:年龄、职业、性别、大致收入及消费水平等 2. 电梯的应用场景 是公寓?商场?写字楼?不同的场景下采取不同的广告投放策略 根据不同的用户画像和电梯所处的应用场景,有针对性的投放广告。

  • 问题内容: 我想将页面上的一些数据发送到servlet 所以我写了下面的jQuery来做到这一点 我使用所有数据构建一个json字符串,并将其直接发送到servlet 但是我不知道如何从servlet中的ajax获取全部数据 如果查看来自chrome的请求标头的Form Data段 您会看到整个json字符串是关键。 问题答案: 看这里, 您的归属是错误的。它不应该是字符串,而是真实的JSON对象

  • 问题内容: 我是reactjs / redux的初学者,找不到如何使用api调用在redux应用程序中检索数据的简单示例。我猜您可以使用jquery ajax调用,但是那里可能还有更好的选择? 问题答案: JSfiddle; http://jsfiddle.net/cdagli/b2uq8704/6/ 它使用redux,redux-thunk和fetch。 提取方法; 上面使用的动作: (注意:您

  • 我需要一个数据结构来在Log N time中执行get/find,并从get操作返回的对象开始迭代。迭代器应该按照元素插入数据结构的相同顺序进行迭代。 我可以使用TreeSet实现这一点吗?或任何其他数据结构? 谢谢

  • 问题内容: 我有一个很大的csv文件,因此无法将它们全部读入内存。我只想阅读和处理其中的几行内容。所以我正在Pandas中寻找一个可以处理此任务的函数,基本的python可以很好地处理此任务: 但是,如果我在熊猫中这样做,我总是会读第一行: 我正在寻找一些更简单的方法来处理熊猫中的这项任务。例如,如果我想读取1000到2000的行。如何快速执行此操作? 我想使用熊猫,因为我想将数据读入数据框。 问

  • 例如,我有一个来自URL的分页响应https://swapi.dev/api/people . 此endpoint每页仅提供9个人。我想在Spring Boot应用程序中使用WebClient收集所有星球大战角色,但我不知道如何使用WebClient爬过页面并以非阻塞方式一次检索所有人。有人知道如何做到这一点吗?谢谢您的帮助。