`
superallen
  • 浏览: 141279 次
  • 来自: ...
社区版块
存档分类

spring+hibernate+pager taglib实现分页(底层也做了分页)(一)

阅读更多

经过几天业余时间的研究,已经做了一套关于分页的高效解决方案,所谓的高效,就是在数据库底层,也做了分页查询,因此在进行大数据量的查询时,速度会很快。如果不做底层的分页的话,数据量超过5W,速度将会慢的象乌龟一样。

  这套解决方案,是按照MVC的模式来做的,基于STRUTS框架。分为三个部分,表现层用的是JSP,其中用了JSTLpager taglib做分页;控制层就是用的很传统的Action底层就用的是Spring+Hibernate。下面分三个部分慢慢说:

  一、底层:

  底层是基于Spring+Hibernate来做的。在DAO这一层,为其增加两个方法,一个方法为根据HQL语句和条件进行查询,另外一个方法为根据HQL语句、条件、开始的记录位置,共显示的记录数进行分页查询。底层的分页查询用的是Hibernate提供的分页查询。

  方法体如下所示:

java 代码
  1.  public List findByCondition(String sql,Object[] parems){   
  2.   
  3.            List result = new ArrayList();   
  4.   
  5.            try{   
  6.   
  7.                   result = getHibernateTemplate().find(sql,parems);   
  8.   
  9.            }catch(RuntimeException re){   
  10.   
  11.                   re.printStackTrace();   
  12.   
  13.            }   
  14.   
  15.            return result;   
  16.   
  17. }   
  18.   
  19.     
  20.   
  21. public List findByCondition(String sql,Object[] parems,int first,int max){   
  22.   
  23.            List result = new ArrayList();   
  24.   
  25.            try{   
  26.   
  27.                   Session sess = getSession();   
  28.   
  29.                   Query query = sess.createQuery(sql);   
  30.   
  31.                   for(int i = 0;i<parems.length;i++){   
  32.   
  33.                          if(parems[i] instanceof Integer){   
  34.   
  35.                                 query.setInteger(i,((Integer)parems[i]).intValue());   
  36.   
  37.                          }   
  38.   
  39.                          if(parems[i] instanceof String){   
  40.   
  41.                                 query.setString(i,parems[i].toString());   
  42.   
  43.                          }   
  44.   
  45.                   }   
  46.   
  47.                   query.setFirstResult(first);   
  48.   
  49.                   query.setMaxResults(max);   
  50.   
  51.                   result = query.list();   
  52.   
  53.            }catch(RuntimeException re){   
  54.   
  55.                   re.printStackTrace();   
  56.   
  57.            }   
  58.   
  59.            return result;   
  60.   
  61.     }   
  62.   
OK,底层的工作就做完了!
分享到:
评论
5 楼 superallen888 2007-03-08  
也可以是其他类型啊,我这里只是写了两种类型,用到其他类型的时候可以在这个地方进行扩展
4 楼 JavaFlasher 2007-03-07  
引用
                         if(parems[i] instanceof Integer){   
                                query.setInteger(i,((Integer)parems[i]).intValue());   
                         }   
                         if(parems[i] instanceof String){   
                               query.setString(i,parems[i].toString());   
                         }   


加这句意义何在? 难道参数类型除了 Integer和String 就不可以了么?
3 楼 superallen 2007-02-12  
johnnyhg,分一、二、三的!你看清楚啦!
2 楼 johnnyhg 2007-02-09  
怎么写了一般就没下文了?
这也叫高效的分页方法?
1 楼 harryhdk 2007-02-07  
坐下来好好学习一下先

相关推荐

    j2ee中struts+hibernate+spring+pager-taglib分页实例

    ### j2ee中struts+hibernate+spring+pager-taglib分页实例 #### 概述 在Java企业级应用开发中,Struts、Hibernate、Spring与Pager Taglib经常被联合使用,以构建高性能、高灵活性的应用系统。本文将详细介绍如何...

    使用pager-taglib实现分页显示的详细步骤

    本文将详细介绍如何利用`pager-taglib`结合SSH(Struts、Spring、Hibernate)框架实现从前端到后端的分页功能。 #### 一、准备工作 在开始之前,确保项目环境中已经引入了Struts、Spring、Hibernate以及`pager-...

    ssh+分页(pager-taglib)

    本资源融合了struts+spring+hibernate的集成,并充分运用jsp开源分页标签(pager-taglib)进行了分页。支持多条件的分页查询。由于上传大小限制,本人被迫将所用到的jar包目录删除,所需的几个必备jar包我已留在本...

    ssh+pager taglib分页实现

    在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而`pager`则是分页功能的一种实现。在这个主题中,我们将深入探讨如何在SSH框架下使用`pager`标签库来实现高效的分页显示。首先,...

    pager-taglib实现Google分页

    本主题将深入探讨如何利用pager-taglib库实现类似于Google的高效分页效果,该库是基于Spring、Struts和Hibernate(SSH)框架的。下面我们将详细讲解相关知识点。 首先,** pager-taglib **是一个自定义的JSP标签库...

    pager-taglib-2.0

    "pager-taglib-2.0" 可以无缝集成到Spring MVC、Struts等主流Java Web框架中,与ORM框架如Hibernate、MyBatis配合使用,简化数据分页的处理流程。 7. **注意事项** - 要确保正确配置了Taglib的URI,否则可能会...

    SSHConformity【display标签和taglib标签缺架包】,ssh整合,分页,display标签,pager-taglib标签

    而Pager Taglib是另一个用于分页的JSP标签库,它提供了一个简单的分页组件,通常与Servlet容器或Struts等框架结合使用。Pager Taglib的使用相对简单,只需要在JSP页面导入对应的标签库,然后使用`&lt;pager:tags&gt;`标签...

    OA pagertaglib ssh2 增删改查

    本项目以“OA pagertaglib ssh2 增删改查”为主题,涉及到的关键技术包括SSH2框架、PagerTaglib分页库以及增删改查的基础操作。 首先,SSH2是指Spring、Struts2和Hibernate这三个开源框架的组合,它们是Java Web...

    Pager Tag Lib分页操作源码

    Pager Tag Lib库就是一种用于实现分页功能的标签库,它可以极大地简化开发者的工作,无需编写复杂的分页算法。本篇文章将深入探讨Pager Tag Lib在SSH2(Spring、Struts2、Hibernate2)框架中结合JSTL的使用方法和...

    SSHConformity【display标签和taglib标签】,display标签,pager-taglib标签

    SSHConformity是一个基于Spring、Struts和Hibernate的开源项目,它集成了多种标签库,以简化Web开发过程。在SSHConformity中,`display标签`和`taglib标签`是两个重要的组件,主要用于页面展示和数据分页。 1. **...

    struts2 spring hibernate所需jar包

    struts2+spring2.5+hibernate3.2整合所需的所有jar包,并额外包含了dwr.jar、分页组件pager-taglib、绘图组件jfreechart.jar、Excel解析工具包jxl.jar、数据库连接池工具包proxool.jar

    S2SH整合pager-taglibs示例

    本示例主要关注的是如何在Struts2框架中整合`pager-taglibs`,它是一个强大的分页标签库,能够帮助开发者在页面上轻松实现数据的分页展示,提升用户体验。`pager-taglibs`使得在JSP页面中处理大量数据变得更加简洁...

    SSH集成所需要的jar包

    - `pager-taglib.jar`: 这个库提供了分页标签,方便在JSP页面中实现数据的分页显示。 这些jar包共同构成了SSH集成的基础,使得开发者可以构建出结构清晰、易于维护的Java Web应用程序。通过Struts处理用户请求,...

    标签: OA 项目 SSH2 增删改查

    分页功能是大型系统中常见的需求,本项目利用了pager-taglib库来实现这一功能。Pager-taglib是基于JSP标签库的一种分页工具,它可以在页面上显示分页链接,同时处理分页请求,为查询结果进行分页显示。这种方式使得...

    SSH开发帮助.doc

    - **pager-taglib-jar** 是用于JSTL分页的标签库,配合`&lt;pg:pager&gt;`标签实现分页功能。 6. **Hibernate常见问题**: - Hibernate初始化时的`NoClassDefFoundError`通常是由于缺少必要的库,例如ehcache.jar。在...

    企业管理OA系统

    Pager-taglib通常提供了一种简便的方式来分页查询数据库,它可以帮助优化性能,避免一次性加载大量数据到页面,提高用户体验。 这个OA系统可供学习和探讨,意味着源代码应该是开放的,开发者可以通过查看和分析代码...

    OA 项目 SSH2 增删改查

    这个OA项目使用了`pager-taglib`标签库进行分页,这是一款基于JSTL的分页标签,它可以方便地在JSP页面中实现动态的分页效果,减轻服务器负载,提升用户体验。 6. **组织管理与人员管理**:在OA系统中,这两部分涉及...

    J2EE开发基础包集合.zip

    5. pager-taglib:这是一个专门用于分页显示数据的JSP标签库,通常用于表格或者列表的分页展示,能够帮助开发者轻松地实现大数据集的分页处理,提升用户体验。 这个压缩包的文件名称列表虽然没有具体列出各个子文件...

    J2EE开发之常用开源项目介绍

    Pager-taglib 是一种专门用于分页处理的标签库,它可以自动完成分页逻辑,大大简化了开发者的编码工作。 - **特点**: - 支持多种分页算法,可以根据实际需求进行选择。 - 提供了直观的用户界面,方便用户进行...

Global site tag (gtag.js) - Google Analytics