首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts+Hibernate实现分页效能

2013-09-11 
Struts+Hibernate实现分页功能学过Hibernate的程序员都知道,在Hibernate中为用户准备好了分页数据库的功能

Struts+Hibernate实现分页功能

学过Hibernate的程序员都知道,在Hibernate中为用户准备好了分页数据库的功能。也就是两句话:

query.setFirstResult(pageStartRow);
query.setMaxResults(pageSize);

最近开始学Hibernate就写了一个分页的功能,很实用,实现了跳转到相应的页:GO,和用户可选的页面显示数据的数量,与大家分享下,如果有不正确的地方请大家多多指出。谢谢,就不多说废话了.....

首先我们准备一个 Pager.java

然后我们需要一个工具类,用于获得一个Pger对象,在Action中使用:

PagerUtil.java

Struts中Action的代码如下:

以上的Action使用了Hibernate中的两个方法:

1.totalCount():得到总数据量;

2.selectStudentList(pager.getPageSartRow(),pager.getPageSize()); 得到请求的List

Hibernate范围中的代码如下:

最后我们来看看前台代码:

从jsp页面上可以看到,我把分页模拟成了一个组件化的用例,放在一个table中,我们可以在任何一个项目中使用它,只要能将代码复制即可,当然还要修改下请求的路径,这个就要以项目为中心了,这里的请求我大多是用的javasript,因为我们必须在没有表单的情况下获得用户的输入和选择,所以我选择了JavaScript,当然还有很多方法,大家有兴趣可以去研究。由于我在代码中注释都写得很清楚,所以我在这里只是讲下其中一个路径问题:stutent.do?dowhat=all&pagedo=next&current=${pager.currentPage}&showcount=" + count

dowhat : 这是Action的请求,我用的是DispatchAction,这里指的是Action的请求参数;

current :当前页,从request中获得;

showcount: 用户选择的当前显示多少行数据,也就是pager的pageSize;

gocount : 用户输入的转到第几个的数值;

在贴出学习时对分页的分析图片吧:

http://b31.photo.store.qq.com/http_imgload.cgi?/rurl4_b=25b845d29607d32ca11c8a09617bf58b9889eb6d2c485aacff502cc045c39bc12e64069bea3681c5d7142e01c1ce54705b0698c740fe83c34a8bc4fef145d592f04a7df7e340263f8e4c7ae787515f321b1f26dc&a=25&b=31

还有本例的图样,大家可以先睹为快:

http://b31.photo.store.qq.com/http_imgload.cgi?/rurl4_b=25b845d29607d32ca11c8a09617bf58b1b7471265f322d130cd674d75cc0fb024fff79b1394f042be3cc3104c3c82414dfac42b6a8edc705f556ff996e15d4f4d10233e3b90edcd1c1ffd94321af0177191a7b35&a=31&b=31

就是这么多,希望对大家有所帮助!

热点排行