从非常大的结果集中显示数据的最佳方法是什么?
时间:2020-03-06 14:23:01 来源:igfitidea点击:
我正在编写审计跟踪的报告视图,并且需要在.jsp中显示它。从数据库获取数据到屏幕的"最佳"方法是什么?
我们使用Spring进行依赖项注入,数据访问对象和Hibernate。
我可以在此报告中使用休眠或者直接jdbc。
如果我将所有记录加载到内存中,则会用完内存。
有什么想法不涉及在jsp中运行查询吗?
解决方案
只需使用分页,一次只在页面上加载一定数量的行。
似乎这是使用Hibernate结果分页的自然场所-在Servlet级别运行查询,并以类似于此人描述的方式分页结果:
http://blog.hibernate.org/Bloggers/Everyone/Year/2004/Month/08/Day/14#pagination
这是我所见过的实现Hibernate分页的最简单方法...
显示标记库非常擅长在servlet或者portlet中显示分页的结果集。但是它通常可以将整个列表加载到内存中。因此,我们将需要做一些工作来通过实现org.displaytag.pagination.PaginatedList
接口来使其与分页结果集一起使用。显示广告代码网站上有一个教程。本教程没有太多内容,但是再次实现该接口非常容易。
另一种方法是使用scroll()一次流式处理一行。