J2EE关于分页数据的访问

最近由于课程设计,使用SSH框架开发了一个小型网上选课系统,在开发过程中,涉及到了数据页面显示的分页。

这次的开发算是自己独立使用框架开发的第一个J2EE项目,由于缺乏开发经验,所以这次的分页处理出现了很多问题。

当时分页使用的是在Action中写了三个方法:check() 、prePage()、nextPage(),并且将数据是一次性从数据库读出来,存放在List对象中,然后存在session中。

后来做了一些考虑:

1.可以自己写一个工具类,处理分页

2.数据的读取是一次性读取出来存放在session中还是每次点击下一页(上一页)再去读更好,哪个性能更优


对于这些问题,我后来做了一些处理,自己写了个接口ISimpleton并写了实现类SimpletonImpl,主要包括三个方法:

	/**
 	 * 分页
 	 * @param obj
 	 * @param pageSize
 	 * @param currentPage
 	 * @return Map<String, Integer> pageMap
 	 * @author Simpleton 2012-12-11
 	 */
 	public Map<String,Integer> pagePart(Object obj,int pageSize, int currentPage);
 	
 	/**
 	 * 上一页
 	 * @param pageMap
 	 * @return Map<String, Integer> pageMap
 	 * @author Simpleton 2012-12-11
 	 */
 	public Map<String, Integer> prePage(Object obj,int pageSize, int currentPage);
 	
 	/**
 	 * 下一页
 	 * @param pageMap
 	 * @return Map<String, Integer> pageMap
 	 * Simpleton 2012-12-11
 	 */
 	public Map<String,Integer> nextPage(Object obj,int pageSize, int currentPage);

该工具类虽然实现了,但是由于最近比较忙,还有要做修改的地方。


另外对于读数据的问题,考虑到如果一次性读取数据,然后存放在session中,由于session生存期太长,服务器内存吃不消,性能不佳,然后去JAVA吧请教了大牛们,得到了一个很好的答案:

一次性查询出来是绝对不行的,这太搞笑了,可以一次查3页出来,比如查第7页,可以把6,7,8都查出来,显示第7页,别人点了下一页时直接显示第8页的同时后台偷偷读出第9页

这个方法兼容了数据量很大的问题,还好的方法



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值