从非常大的结果集中显示数据的最佳方法是什么?

时间: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()一次流式处理一行。