/**
* 使用hql 语句进行操作
* @param hql HSQL 查询语句
* @param offset 开始取数据的下标
* @param length 读取数据记录数
* @return List 结果集
*/
public List getListForPage2(final String hql, final int offset, final int length) {
List list = this.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;
}
/**
* 使用hql 语句进行操作
* @param hql 查询语句
* @param currentPage 当前页码
* @param pageSize 读取数据记录数
* @return List 结果集
*/
public List getListForPage(final String hql, final int currentPage,final int pageSize) {
//调用模板的execute方法,参数是实现了HibernateCallback接口的匿名类
List list = getHibernateTemplate().executeFind(
new HibernateCallback() {
//重写其doInHibernate方法返回一个object对象,
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List queryList = PageNoUtil.getList(session,hql,currentPage,pageSize);
return queryList;
}
});
return list;
}
public int getCount(){
String str = this.getHibernateTemplate().find("select count(*) from Person").get(0).toString();
return Integer.parseInt(str);
}
/* *//**
* 使用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;
}
*/
分享到:
相关推荐
使用Spring的JdbcTemplate实现分页功能
分页插件PageHelper是一个广泛使用的MyBatis分页插件,能够简化分页操作,在Spring和MyBatis集成的项目中使用分页功能时非常方便。接下来,将详细介绍如何使用PageHelper分页插件。 1. 引入分页插件 要使用...
本文将深入探讨如何使用JSP(Java Server Pages)来实现查询分页,这是一项在网页开发中频繁遇到且必须掌握的技术。 ### 分页技术的重要性 分页技术主要解决的是当数据量庞大时,一次性加载所有数据到页面会导致...
Java中的分页实现通常有两种方法:一种是使用存储过程,另一种是使用纯Java代码。这里我们讨论的是后者,因为它更灵活且无需额外的数据库对象。使用Java代码实现分页的关键在于维护一个游标(cursor)和一个缓存...
以下是如何使用Hibernate进行分页查询的详细说明: 1. **配置Hibernate分页**: 在Hibernate中,我们通常使用`Criteria`或`Query` API进行分页查询。`Criteria`提供了一种更面向对象的方式来执行SQL查询,而`Query...
但是,在使用 PageHelper 进行分页查询时,会出现一些问题,例如当进行一对多结果映射的分页查询时,PageHelper 会自动对 SQL 语句进行处理,但由于左连接查询时,连接条件 on 条件不唯一(即一对多)时,结果会产生...
本教程将详细讲解如何使用jQuery库来实现表格的动态分页,同时结合Java后端进行数据的动态查询和分页处理。 首先,让我们了解动态分页的基本原理。动态分页是指在用户滚动或点击分页按钮时,仅加载当前显示的数据,...
然而,当数据量较大时,使用默认的分页方式会频繁地向服务器发送请求,这不仅消耗网络资源,也可能影响用户体验。为了解决这个问题,我们可以采用“GridView使用div分页,减少访问服务器频率”的方法,来优化性能。 ...
Google分页样式通常指的是简洁且易于使用的分页设计,如简单的数字链,上一页/下一页按钮,以及“跳至页数”的输入框。这种设计风格强调用户体验,使得用户可以快速理解并操作分页。 在提供的"分页page示例"中,你...
在不启用这个拦截器的情况下,尽管你可能使用了MP的分页API,但实际上不会在SQL中看到`LIMIT`或`OFFSET`这样的分页语句,从而导致查询返回所有数据。 问题在于,当你在使用MybatisPlus进行分页查询时,如果未正确...
然后,在控制器中,你可以使用`PagedListPager`辅助方法创建分页链接,同时使用`ToPagedList`方法将查询结果转换为`PagedList`对象。以下是一个简单的例子: ```csharp public ActionResult Index(int? page) { ...
2.3.使用在开发过程中由于使用到了分页功能,在这里写了一个分页功能。 3.按钮选择 之前的很多按钮是通过参数进行选择,这样不利于平时对按钮进行学习和了解 使用在这里使用按钮都使用button元素进行创建(注释即...
本文将深入探讨如何在QTableWidget和QTableView中实现分页栏的使用,主要参考了博客《QTableWidget,QTableView分页的分页栏使用demo》。 首先,QTableWidget是一个直观且易于使用的表格控件,它提供了完整的表格...
使用反射分页,并自动封装成对象,最后返回一个对象集合
总的来说,这个实例涵盖了Android开发中的关键知识点:ListView的使用、Adapter的实现、分页加载策略以及与数据库的交互。通过研究这个案例,开发者能够深入理解如何在实际项目中有效地管理和展示大量数据,提升应用...
在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨如何利用JdbcTemplate结合游标滚动来解决分页问题。 首先,我们要理解什么是游标滚动。在数据库中...
Paging Library与Room数据库(如果使用)结合使用,可以实现高效的本地数据分页。 5. **用户体验**: 分页加载时,考虑用户体验很重要。添加加载指示器(如进度条或动画)让用户知道数据正在加载。同时,处理网络...
使用Bootstrap实现分页,并且当页码过多时使用省略号,这篇文章有样式的简单演示:https://blog.csdn.net/u013025627/article/details/50485327 样式只是自己的简单样式,不同的项目有不同的样式风格,只是提供分页...
例如,可以使用LIMIT和OFFSET关键字来实现分页。LIMIT用于指定每页的记录数,OFFSET则用于跳过前几条记录,从而获取特定页的数据。 以下是实现步骤的概述: 1. 创建JSP页面,设置HTML结构,包括表格和分页导航栏。...
在开始使用CodeIgniter分页类之前,我们需要有一个包含多条记录的数据库表。在这个例子中,我们创建了一个名为`books`的数据表,包含了以下字段: 1. `Id`:整型,主键,用来唯一标识每本书。 2. `b_name`:变长...