您的位置:首页 > 其它

J2EE关于分页数据的访问

2012-12-15 13:50 183 查看
最近由于课程设计,使用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页

这个方法兼容了数据量很大的问题,还好的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: