经过几天业余时间的研究,已经做了一套关于分页的高效解决方案,所谓的高效,就是在数据库底层,也做了分页查询,因此在进行大数据量的查询时,速度会很快。如果不做底层的分页的话,数据量超过5W,速度将会慢的象乌龟一样。
这套解决方案,是按照MVC的模式来做的,基于STRUTS框架。分为三个部分,表现层用的是JSP,其中用了JSTL和pager taglib做分页;控制层就是用的很传统的Action;底层就用的是Spring+Hibernate。下面分三个部分慢慢说:
一、底层:
底层是基于Spring+Hibernate来做的。在DAO这一层,为其增加两个方法,一个方法为根据HQL语句和条件进行查询,另外一个方法为根据HQL语句、条件、开始的记录位置,共显示的记录数进行分页查询。底层的分页查询用的是Hibernate提供的分页查询。
方法体如下所示:
java 代码
- public List findByCondition(String sql,Object[] parems){
-
- List result = new ArrayList();
-
- try{
-
- result = getHibernateTemplate().find(sql,parems);
-
- }catch(RuntimeException re){
-
- re.printStackTrace();
-
- }
-
- return result;
-
- }
-
-
-
- public List findByCondition(String sql,Object[] parems,int first,int max){
-
- List result = new ArrayList();
-
- try{
-
- Session sess = getSession();
-
- Query query = sess.createQuery(sql);
-
- for(int i = 0;i<parems.length;i++){
-
- if(parems[i] instanceof Integer){
-
- query.setInteger(i,((Integer)parems[i]).intValue());
-
- }
-
- if(parems[i] instanceof String){
-
- query.setString(i,parems[i].toString());
-
- }
-
- }
-
- query.setFirstResult(first);
-
- query.setMaxResults(max);
-
- result = query.list();
-
- }catch(RuntimeException re){
-
- re.printStackTrace();
-
- }
-
- return result;
-
- }
-
OK,底层的工作就做完了!
分享到:
相关推荐
### j2ee中struts+hibernate+spring+pager-taglib分页实例 #### 概述 在Java企业级应用开发中,Struts、Hibernate、Spring与Pager Taglib经常被联合使用,以构建高性能、高灵活性的应用系统。本文将详细介绍如何...
本文将详细介绍如何利用`pager-taglib`结合SSH(Struts、Spring、Hibernate)框架实现从前端到后端的分页功能。 #### 一、准备工作 在开始之前,确保项目环境中已经引入了Struts、Spring、Hibernate以及`pager-...
本资源融合了struts+spring+hibernate的集成,并充分运用jsp开源分页标签(pager-taglib)进行了分页。支持多条件的分页查询。由于上传大小限制,本人被迫将所用到的jar包目录删除,所需的几个必备jar包我已留在本...
在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而`pager`则是分页功能的一种实现。在这个主题中,我们将深入探讨如何在SSH框架下使用`pager`标签库来实现高效的分页显示。首先,...
本主题将深入探讨如何利用pager-taglib库实现类似于Google的高效分页效果,该库是基于Spring、Struts和Hibernate(SSH)框架的。下面我们将详细讲解相关知识点。 首先,** pager-taglib **是一个自定义的JSP标签库...
"pager-taglib-2.0" 可以无缝集成到Spring MVC、Struts等主流Java Web框架中,与ORM框架如Hibernate、MyBatis配合使用,简化数据分页的处理流程。 7. **注意事项** - 要确保正确配置了Taglib的URI,否则可能会...
而Pager Taglib是另一个用于分页的JSP标签库,它提供了一个简单的分页组件,通常与Servlet容器或Struts等框架结合使用。Pager Taglib的使用相对简单,只需要在JSP页面导入对应的标签库,然后使用`<pager:tags>`标签...
本项目以“OA pagertaglib ssh2 增删改查”为主题,涉及到的关键技术包括SSH2框架、PagerTaglib分页库以及增删改查的基础操作。 首先,SSH2是指Spring、Struts2和Hibernate这三个开源框架的组合,它们是Java Web...
Pager Tag Lib库就是一种用于实现分页功能的标签库,它可以极大地简化开发者的工作,无需编写复杂的分页算法。本篇文章将深入探讨Pager Tag Lib在SSH2(Spring、Struts2、Hibernate2)框架中结合JSTL的使用方法和...
SSHConformity是一个基于Spring、Struts和Hibernate的开源项目,它集成了多种标签库,以简化Web开发过程。在SSHConformity中,`display标签`和`taglib标签`是两个重要的组件,主要用于页面展示和数据分页。 1. **...
JAVA学生成绩管理系统源码 开发语言:JAVA, 框架:SSH+Mysql+jsp (struts2 + spring + hibernate) 带有Mysql数据库和漂亮的后台管理功能 ... 分页使用的是pager-taglib框架 7. 后台登陆使用的是frameset框架
struts2+spring2.5+hibernate3.2整合所需的所有jar包,并额外包含了dwr.jar、分页组件pager-taglib、绘图组件jfreechart.jar、Excel解析工具包jxl.jar、数据库连接池工具包proxool.jar
本示例主要关注的是如何在Struts2框架中整合`pager-taglibs`,它是一个强大的分页标签库,能够帮助开发者在页面上轻松实现数据的分页展示,提升用户体验。`pager-taglibs`使得在JSP页面中处理大量数据变得更加简洁...
- `pager-taglib.jar`: 这个库提供了分页标签,方便在JSP页面中实现数据的分页显示。 这些jar包共同构成了SSH集成的基础,使得开发者可以构建出结构清晰、易于维护的Java Web应用程序。通过Struts处理用户请求,...
分页功能是大型系统中常见的需求,本项目利用了pager-taglib库来实现这一功能。Pager-taglib是基于JSP标签库的一种分页工具,它可以在页面上显示分页链接,同时处理分页请求,为查询结果进行分页显示。这种方式使得...
Pager-taglib通常提供了一种简便的方式来分页查询数据库,它可以帮助优化性能,避免一次性加载大量数据到页面,提高用户体验。 这个OA系统可供学习和探讨,意味着源代码应该是开放的,开发者可以通过查看和分析代码...
这个OA项目使用了`pager-taglib`标签库进行分页,这是一款基于JSTL的分页标签,它可以方便地在JSP页面中实现动态的分页效果,减轻服务器负载,提升用户体验。 6. **组织管理与人员管理**:在OA系统中,这两部分涉及...
5. pager-taglib:这是一个专门用于分页显示数据的JSP标签库,通常用于表格或者列表的分页展示,能够帮助开发者轻松地实现大数据集的分页处理,提升用户体验。 这个压缩包的文件名称列表虽然没有具体列出各个子文件...
Pager-taglib 是一种专门用于分页处理的标签库,它可以自动完成分页逻辑,大大简化了开发者的编码工作。 - **特点**: - 支持多种分页算法,可以根据实际需求进行选择。 - 提供了直观的用户界面,方便用户进行...