`
lzkyo
  • 浏览: 466808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用hibernateTemple分页

 
阅读更多
/**
	* 使用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实现分页功能

    使用Spring的JdbcTemplate实现分页功能

    如何使用分页插件.pdf

    分页插件PageHelper是一个广泛使用的MyBatis分页插件,能够简化分页操作,在Spring和MyBatis集成的项目中使用分页功能时非常方便。接下来,将详细介绍如何使用PageHelper分页插件。 1. 引入分页插件 要使用...

    使用JSP实现查询分页

    本文将深入探讨如何使用JSP(Java Server Pages)来实现查询分页,这是一项在网页开发中频繁遇到且必须掌握的技术。 ### 分页技术的重要性 分页技术主要解决的是当数据量庞大时,一次性加载所有数据到页面会导致...

    sybase分页代码使用jdbc分页速度快适合大数据

    Java中的分页实现通常有两种方法:一种是使用存储过程,另一种是使用纯Java代码。这里我们讨论的是后者,因为它更灵活且无需额外的数据库对象。使用Java代码实现分页的关键在于维护一个游标(cursor)和一个缓存...

    使用hibernate分页查询

    以下是如何使用Hibernate进行分页查询的详细说明: 1. **配置Hibernate分页**: 在Hibernate中,我们通常使用`Criteria`或`Query` API进行分页查询。`Criteria`提供了一种更面向对象的方式来执行SQL查询,而`Query...

    pageHelper分页失效解决方案.docx

    但是,在使用 PageHelper 进行分页查询时,会出现一些问题,例如当进行一对多结果映射的分页查询时,PageHelper 会自动对 SQL 语句进行处理,但由于左连接查询时,连接条件 on 条件不唯一(即一对多)时,结果会产生...

    使用jquery实现表格动态分页

    本教程将详细讲解如何使用jQuery库来实现表格的动态分页,同时结合Java后端进行数据的动态查询和分页处理。 首先,让我们了解动态分页的基本原理。动态分页是指在用户滚动或点击分页按钮时,仅加载当前显示的数据,...

    GridView使用div分页,减少访问服务器频率

    然而,当数据量较大时,使用默认的分页方式会频繁地向服务器发送请求,这不仅消耗网络资源,也可能影响用户体验。为了解决这个问题,我们可以采用“GridView使用div分页,减少访问服务器频率”的方法,来优化性能。 ...

    超强php分页打包 通用分页 万能分页 ajax分页 google分页

    Google分页样式通常指的是简洁且易于使用的分页设计,如简单的数字链,上一页/下一页按钮,以及“跳至页数”的输入框。这种设计风格强调用户体验,使得用户可以快速理解并操作分页。 在提供的"分页page示例"中,你...

    完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题

    在不启用这个拦截器的情况下,尽管你可能使用了MP的分页API,但实际上不会在SQL中看到`LIMIT`或`OFFSET`这样的分页语句,从而导致查询返回所有数据。 问题在于,当你在使用MybatisPlus进行分页查询时,如果未正确...

    MVC分页 使用 教程与源代码

    然后,在控制器中,你可以使用`PagedListPager`辅助方法创建分页链接,同时使用`ToPagedList`方法将查询结果转换为`PagedList`对象。以下是一个简单的例子: ```csharp public ActionResult Index(int? page) { ...

    分页:高度自定义分页

    2.3.使用在开发过程中由于使用到了分页功能,在这里写了一个分页功能。 3.按钮选择 之前的很多按钮是通过参数进行选择,这样不利于平时对按钮进行学习和了解 使用在这里使用按钮都使用button元素进行创建(注释即...

    QTableWidget,QTableView分页的分页栏使用demo

    本文将深入探讨如何在QTableWidget和QTableView中实现分页栏的使用,主要参考了博客《QTableWidget,QTableView分页的分页栏使用demo》。 首先,QTableWidget是一个直观且易于使用的表格控件,它提供了完整的表格...

    使用反射分页,

    使用反射分页,并自动封装成对象,最后返回一个对象集合

    使用listview分页显示数据

    总的来说,这个实例涵盖了Android开发中的关键知识点:ListView的使用、Adapter的实现、分页加载策略以及与数据库的交互。通过研究这个案例,开发者能够深入理解如何在实际项目中有效地管理和展示大量数据,提升应用...

    jdbcTemplate分页彻底解决,使用游标滚动

    在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨如何利用JdbcTemplate结合游标滚动来解决分页问题。 首先,我们要理解什么是游标滚动。在数据库中...

    用recyclerview实现分页滑动,横向纵向分页

    Paging Library与Room数据库(如果使用)结合使用,可以实现高效的本地数据分页。 5. **用户体验**: 分页加载时,考虑用户体验很重要。添加加载指示器(如进度条或动画)让用户知道数据正在加载。同时,处理网络...

    使用Bootstrap实现分页,并且当页码过多时使用省略号

    使用Bootstrap实现分页,并且当页码过多时使用省略号,这篇文章有样式的简单演示:https://blog.csdn.net/u013025627/article/details/50485327 样式只是自己的简单样式,不同的项目有不同的样式风格,只是提供分页...

    Java Ajax分页,jsp ajax分页

    例如,可以使用LIMIT和OFFSET关键字来实现分页。LIMIT用于指定每页的记录数,OFFSET则用于跳过前几条记录,从而获取特定页的数据。 以下是实现步骤的概述: 1. 创建JSP页面,设置HTML结构,包括表格和分页导航栏。...

    codeigniter分页类的使用

    在开始使用CodeIgniter分页类之前,我们需要有一个包含多条记录的数据库表。在这个例子中,我们创建了一个名为`books`的数据表,包含了以下字段: 1. `Id`:整型,主键,用来唯一标识每本书。 2. `b_name`:变长...

Global site tag (gtag.js) - Google Analytics