`

spring 中hibernateTemplate实现分页

 
阅读更多

Spring 整合 Hibernate 时候用的 HibernateTemplate 不支持分页,因此需要自己包装一个类进行分页,具体实现如下...使用spring的hibernateTemplate的回调机制扩展hibernateTemplate的功能实现分页

回调封装了对异常和事务的处理

/**
* 使用hql 语句进行操作

* @param hql
* @param offset
* @param length
* @return List
*/
public List getListForPage(final String hql, final int offset,
final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
return list;
}
});
return list;
}
/**
* 使用criterion进行操作
* @param arg
* @param criterions
* @param offset
* @param length
* @return List
*/
protected List getListForPage(final Class arg, final Criterion[] criterions,final int offset, final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(arg);
//循环遍历添加约束条件
for (int i = 0; i < criterions.length; i++) {
criteria.add(criterions[i]);
}
criteria.setFirstResult(offset);
criteria.setMaxResults(length);
return criteria.list();
}
});
return list;
}

分享到:
评论

相关推荐

    S2SH购物车+HibernateTemplate分页

    总的来说,"S2SH购物车+HibernateTemplate分页"项目是一个综合性的学习资源,涵盖了Java Web开发中的关键技术和实践,对于理解SSH框架的整合和实际应用具有很高的参考价值。通过这个项目,开发者可以深入理解如何在...

    struts+hibernate+spring框架整合做分页

    在分页中,Hibernate可以通过HQL(Hibernate Query Language)或者 Criteria API 来实现对数据库的查询,同时提供Limit和Offset方法来实现数据的分页。 Spring框架作为核心的容器,它可以管理和装配这些框架的组件...

    spring+struts+hibernate实现分页

    总的来说,通过Spring、Struts和Hibernate的集成,我们可以构建出一个强大的Web应用框架,其中分页功能的实现主要依赖于Spring管理的SessionFactory、Struts的Action和Spring的IoC容器,以及自定义的PageUtil和Page...

    Spring/泛型Hibernate的实现

    ### 泛型Hibernate的实现与Spring集成 #### 一、泛型Hibernate概念及其实现 在Java开发领域,尤其在企业级应用开发中,Hibernate框架因其强大的对象关系映射(ORM)能力而受到广泛欢迎。泛型Hibernate是利用Java...

    Hibernate和Spring集成分页方法.rar

    本教程将深入探讨如何在Hibernate和Spring集成环境中实现分页功能。 首先,我们需要了解Hibernate和Spring的基本概念。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库...

    struts+spring+hibernate通用分页方法

    通过上述分析可以看出,该通用分页方法充分利用了Struts、Spring 和 Hibernate 的优势,通过清晰的层次划分实现了高效的物理分页功能。这种分页策略不仅适用于当前的示例场景,也具有一定的通用性,可以应用于其他...

    hibernateTemplate

    其中,`HibernateTemplate`作为Spring框架中的一个重要组件,为开发者提供了丰富的API来处理数据库操作,使得开发人员能够更加专注于业务逻辑的编写,而不是繁琐的数据访问细节。 #### 二、HibernateTemplate简介 ...

    基于spring+hibernate的组合查询+分页组件

    以下是一个简单的示例,展示如何在Spring和Hibernate中实现组合查询和分页: ```java @Service public class UserService { @Autowired private SessionFactory sessionFactory; public Page&lt;User&gt; ...

    JQuery,ajax,hibernate+spring,分页查询.rar

    `描述`中的“Hibernate+spring的一个简单分页实现”意味着这里有一个例子展示了如何在Spring框架中结合Hibernate进行分页查询。分页查询对于处理大量数据至关重要,因为它允许用户以更可管理的方式浏览结果,避免一...

    Struts2,hibernate,Spring分页方法

    在`MemberDaoImpl`实现类中,我们利用`HibernateTemplate`的`executeFind`方法,通过传入一个实现了`HibernateCallback`接口的匿名内部类来执行HQL查询,并设置分页参数。 2. `getAllRowCount`:此方法用于获取满足...

    HibernateTemplate的用法总结

    在HibernateTemplate中,提供了多种常用的方法来实现数据访问操作(CRUD): 1. **`void delete(Object entity)`**:用于删除一个指定的对象实例。例如,如果要删除一个`Person`对象,可以直接调用此方法。 2. **`...

    HibernateTemplate 的常规用法.doc

    《轻量级 J2EE 企业应用实战: Struts+Spring+Hibernate 整合开发》一书中详述了Spring与Hibernate的整合,其中一个重要组件就是HibernateTemplate。它为简化Hibernate在Spring框架中的使用提供了便利,减少了手动...

    hibernateTemplate的常用方法

    `HibernateTemplate`是Spring框架中用于操作Hibernate的一个便捷工具类,它极大地简化了Hibernate在实际应用中的集成与开发工作。通过`HibernateTemplate`,开发者可以非常方便地进行数据的增删改查等基本操作,而...

    SSH整合开发中的分页显示

    在DAO层的实现类`MemberDaoImpl`中,`queryForPage`方法利用`HibernateTemplate`的`executeFind`方法,通过传入一个`HibernateCallback`的匿名内部类来执行HQL,并设置分页参数`setFirstResult`和`setMaxResults`。...

    S2SH分页实现

    在DAO层,我们需要根据PageBean的参数来编写SQL查询,例如使用`LIMIT`和`OFFSET`在MySQL中实现分页。Spring的`HibernateTemplate`或`Session`对象可以帮助我们执行SQL并返回结果。 ```java public PageBean&lt;User&gt; ...

    SSH实现分页查

    本篇文章将详细介绍如何利用SSH框架(Spring、Struts、Hibernate)来实现分页查询功能。 #### 二、基础知识介绍 1. **SSH框架简介**: - **Spring**:一个开源框架,提供了全面的基础架构支持,让Java开发者能够...

    SSH基础上分页功能的实现

    在SSH框架中实现分页,通常涉及到以下几个步骤: 1. **定义接口和实现类**:如在描述中提到,我们需要在`MemberDao.java`接口中声明分页查询的方法,如`queryForPage()`,以及获取总记录数的方法,如`...

    HibernateSpringStruts2整合开发中的一个分页显示方案.doc

    综上所述,这个分页方案利用了Spring的依赖注入和事务管理,Hibernate的ORM能力,以及Struts2的MVC架构,实现了在复杂Web应用中的高效分页功能。这样的设计有助于提高代码的可读性和可维护性,同时降低了各层之间的...

    Hibernate+Spring+Struts2整合开发中的一个分页显示方案参考.pdf

    下面将详细介绍如何在这样的环境中实现分页功能。 1. **DAO层设计**: - 分页查询通常在数据访问对象(DAO)层进行处理。在`MemberDao`接口中,我们定义了两个关键方法:`queryForPage`用于执行分页查询,`...

    getHibernateTemplate分页-模糊查询

    特别是在企业级应用中,为了实现高效的数据库操作与管理,开发者经常需要对数据进行分页查询及模糊查询。本文将详细介绍如何利用`getHibernateTemplate()`方法结合Spring框架进行分页查询和模糊查询。 #### 二、...

Global site tag (gtag.js) - Google Analytics