/**
* 使用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);
}
criteria.setFirstResult(offset);
criteria.setMaxResults(length);
return criteria.list();
}
});
return list;
分享到:
相关推荐
- **HQL分页**:通过Hibernate Query Language(HQL)提供的分页方法实现。 #### 三、SSH分页案例分析 本节将通过具体的代码示例,展示如何在SSH框架中实现分页功能。 ##### 1. `PageBean`类 ```java public ...
#### 二、HQL分页简介 HQL是Hibernate提供的面向对象的查询语言,它类似于SQL但更接近于面向对象的思想。在Hibernate中使用HQL进行分页查询主要依赖于`setFirstResult()`和`setMaxResults()`两个方法。其中: - `...
### 高效率Spring+Struts+Hibernate分页算法解析 #### 一、引言 在Web应用程序开发过程中,为了提高用户体验以及系统性能,分页显示数据成为了一项必不可少的功能。本篇文章将详细介绍一种基于Spring、Struts和...
在IT行业中,数据库分页是一项基础且重要的技术,特别是在大数据量的展示场景下,它能够有效地提高用户体验,避免一次性加载过多数据导致的性能问题。本篇文章将深入探讨使用Hibernate ORM框架与SQL Server 2000...
以下是一个HQL分页查询的例子: ```java String hql = "from User"; // 查询语句 Query query = session.createQuery(hql); query.setFirstResult(pageNumber * pageSize); query.setMaxResults(pageSize); List...
- 类似于SQL分页,HQL分页也需要计算总数(countHql)然后执行分页查询(pageHql)。 ### `BaseDao` 类中的关键方法 - **`setParameters(Query<?> query, Map, Object> map)`** 这个方法用于设置HQL查询中的参数...
综上所述,`hibernate经典分页源代码` 涉及到的技术点包括 Hibernate 的 Criteria API 和 HQL 分页,以及在 Struts 框架中使用 JSP 进行服务器端分页。通过理解并实践这些知识,开发者能够创建高效且易于维护的分页...
2. HQL分页: HQL的分页查询可以通过添加LIMIT子句来实现,但由于Hibernate的方言差异,我们需要借助于Query的setFirstResult和setMaxResults方法。例如: ```java Session session = sessionFactory.openSession()...
Hibernate支持两种分页方式:Criteria分页和HQL分页。 1. **Criteria分页**: Hibernate的Criteria API提供了一种面向对象的方式来查询数据库。进行分页查询时,可以使用`Criteria.setFirstResult()`设置起始索引...
3. **HQL分页** HQL是Nhibernate的查询语言,与SQL语法类似,也支持分页。使用`setFirstResult()`和`setMaxResults()`方法。示例: ```csharp var query = session.CreateQuery("from YourEntity as e where ...
#### HQL分页 ```java public void show(int page, int num) { String hql = "SELECT s.ename, s.empno FROM Emp s ORDER BY s.empno"; List[]> list = session.createQuery(hql) .setFirstResult(page - 1) // ...
以下是一个使用HQL分页查询的例子: ```java String hql = "from User"; Query query = session.createQuery(hql); query.setFirstResult(pageIndex * pageSize); query.setMaxResults(pageSize); List<User> ...
2. HQL分页:在HQL查询语句中加入LIMIT和OFFSET子句,不过这需要数据库支持。 3. 自定义SQL分页:如果使用自定义SQL,可以在SQL中直接包含分页条件,如MySQL的LIMIT语句。 4. 使用第三方库,如MyBatis的PageHelper...
2. **HQL分页**:在HQL查询语句中添加LIMIT和OFFSET关键字,或者使用FIRST和SKIP关键字。 3. **Query接口分页**:在JPA 2.1及更高版本中,可以使用Query接口的setFirstResult和setMaxResults方法进行分页。 **整合...
在DAO层,有两种主要的分页查询方式:SQL分页和HQL分页。SQL分页是直接在SQL查询语句中添加LIMIT和OFFSET子句,限制返回的数据范围。这种方式直观且效率较高,但可能导致SQL注入风险,且不易于移植。而HQL...
综上所述,"Struts2 + Hibernate3 分页程序"涉及到的主要技术点包括Struts2的Action和Result,Hibernate3的Criteria或HQL分页,以及如何在Service和Action之间传递分页信息。通过理解和实践这部分内容,开发者可以更...