分享一个通用数据库分页方案

这个分页方案采用设计模式中的“模板方法”模式,把分页逻辑的"工作流"封装在了一个抽象的前端控制器,扩展这个抽象父类并重写几个方法(返回总记录数、构造查询条件,当然还有控制器的其他逻辑)即可实现一个具有分页功能的Action(Struts)或Controller(SpringMVC)

我在实践中发现分页最麻烦的地方就是在action里面算页数、记录数这些东西,而具体的数据访问策略每个项目都回不同,所以这纯粹是一个web层的分页方案,你需要根据自己的数据访问方法去实现计算总记录数和查询某一页数据。

效率问题:每显示一页数据都至少访问两次数据库,分别是计算总记录数和查询当前页记录。

技术架构:
web层可以是任意的MVC框架,目前只实现了SpringMVC和Struts的版本(struts暂时还没跑通);
dao层也没有任何限制,只要按照范例中的模式来做既可;
最终页面上用一个标签来显示翻页按钮等。

源代码在sourceforge上,需要subversion访问:
https://svn.sourceforge.net/svnroot/powerstone/ps_paging

示例下载:http://www.javaeye.com/topics/download/961f2f8a-b756-45d8-9d4f-e25628a76463

btw:谁有兴趣想写个webwork的前端和我联系,或直接发个patch给我
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值