J2EE关于分页数据的访问
2012-12-15 13:50
183 查看
最近由于课程设计,使用SSH框架开发了一个小型网上选课系统,在开发过程中,涉及到了数据页面显示的分页。
这次的开发算是自己独立使用框架开发的第一个J2EE项目,由于缺乏开发经验,所以这次的分页处理出现了很多问题。
当时分页使用的是在Action中写了三个方法:check() 、prePage()、nextPage(),并且将数据是一次性从数据库读出来,存放在List对象中,然后存在session中。
后来做了一些考虑:
1.可以自己写一个工具类,处理分页
2.数据的读取是一次性读取出来存放在session中还是每次点击下一页(上一页)再去读更好,哪个性能更优
对于这些问题,我后来做了一些处理,自己写了个接口ISimpleton并写了实现类SimpletonImpl,主要包括三个方法:
该工具类虽然实现了,但是由于最近比较忙,还有要做修改的地方。
另外对于读数据的问题,考虑到如果一次性读取数据,然后存放在session中,由于session生存期太长,服务器内存吃不消,性能不佳,然后去JAVA吧请教了大牛们,得到了一个很好的答案:
一次性查询出来是绝对不行的,这太搞笑了,可以一次查3页出来,比如查第7页,可以把6,7,8都查出来,显示第7页,别人点了下一页时直接显示第8页的同时后台偷偷读出第9页
这个方法兼容了数据量很大的问题,还好的方法
这次的开发算是自己独立使用框架开发的第一个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页
这个方法兼容了数据量很大的问题,还好的方法
相关文章推荐
- 关于msdn上面的《Web 窗体页创建分页的数据访问》的改进
- 一个关于ADO访问数据库实现分页
- 熟悉Flask框架------第二天(访问请求数据、Cookies、Session、重定向、关于响应)
- 关于 Oracle分页数据重复的问题
- 关于.NET中的数据分页
- J2EE进阶之JDBC分页,大文本数据存储,批处理,事物处理 十八
- 关于 Active Server Pages 和 Microsoft 数据访问组件中的 80004005 错误
- 关于使用asp.net 的分页显示数据。Repeater绑定数据后的分页显示。
- J2EE中实现数据显示分页
- 关于jqgrid获取分页全部数据
- 关于 Unity NavMesh 数据的访问
- 关于ASP访问ACCESS数据的错误的探讨
- ASP.NET关于分页上的数据删除问题
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- 一个关于分页的数据和显示分离的设计
- SpringBoot开发详解(十) -- 使用JPA访问数据库下篇及使用Page进行数据分页
- 关于SQL Server SQL语句查询分页数据的解决方案
- 关于Class MyBatisPagingItemReader<T> 读取数据只读第一条分页数据就结束了问题
- 关于数据分页
- 关于使用HandlerThread获取数据,并实现sqlite分页。