`

hibernate物理分页

    博客分类:
  • java
阅读更多
/** * 分页查询数据(采用SQL注入的方式) * * @param hql * :查询数据 * @param conditions * :为需要查询的条件 * @param page * :当前页码 * @param pageSize * :每页多少行数据 * @return */ public List getSelectResult(String hql, int page, int pageSize) { final String hsql = hql; final int startRow = (page - 1) * pageSize; // 得到开始的行数 final int endRow = page * pageSize;// 得到结束的行数 List list = hibernateTemplate.executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hsql); query.setFirstResult(startRow); query.setMaxResults(endRow); List list = query.list(); return list; } }); return list; } /** * 分页查询数据(采用Criteria的方式) * * @param criteria为DetachedCriteria类型的条件 * @param conditions * :为需要查询的条件 * @param page * :当前页码 * @param pageSize * :每页多少行数据 * @return */ public List getCriteriaSelectResult(DetachedCriteria criteria, int page, int pageSize) { int startRow = (page - 1) * pageSize; // 得到开始的行数 int endRow = page * pageSize;// 得到结束的行数 return hibernateTemplate.findByCriteria(criteria, startRow, endRow); }
分享到:
评论

相关推荐

    对IBatis分页的改进,使ibatis支持hibernate式的物理分页

    公司的大部分项目都开始使用IBatis作为O/R Mapping了,但是在使用的过程中也发现了很多不方便和存在...想了很多办法,都没能很好的避免这个问题,无意间在javaeye上看到了《使ibatis支持hibernate式的物理分页》这篇文章,

    对IBatis分页的改进,使ibatis支持hibernate式的物理分页.doc

    针对iBatis的这一局限,我们可以尝试在不修改iBatis源码的情况下,引入类似于Hibernate的物理分页机制。这个过程主要涉及对SQL执行流程的拦截和改造。首先,我们需要了解iBatis执行SQL的关键类——`...

    struts+spring+hibernate通用分页方法

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

    Mybatis3动态SQL物理分页

    Mybatis的自带分页方法只是逻辑分页,如果数据量很大,内存会溢出, 不知道为什么开源组织不在里面实现类似Hibernate的物理分页处理方法。 在不改动Mybatis源代码的情况下实现Mybatis支持物理分页

    利用Mybatis的动态SQL实现物理分页.pdf

    【标题】:“利用Mybatis的动态SQL实现物理分页” 【描述】:本文主要探讨了在实际项目中如何利用Mybatis的动态SQL功能来解决大数据量下的物理分页问题,以避免内存溢出。 【标签】:“SQL 数据库 数据处理 参考...

    hibernate中实现真分页和假分页技术

    本文将详细讲解如何在Hibernate中实现真分页(物理分页)和假分页(逻辑分页)。 首先,我们来了解什么是真分页和假分页。假分页,也称为内存分页,它一次性加载所有数据到内存中,然后通过索引进行分页显示,这种...

    struts2+hibernate+spring分页

    此外,对于大数据量的分页,可能需要考虑采用物理分页而非内存分页,以避免一次性加载大量数据导致内存溢出。 总之,SSH框架集成提供了强大的功能,使得开发者能够高效地构建复杂的企业级应用。分页作为常见的数据...

    spring-ibatis-ext-plugin.1.0.0 扩展ibaits原生SQL

    在多数情况下不及特定数据库支持的物理分页,而hibernate的分页则是直接组装sql,充分利用了特定数据库的分页机制,效率相 对较高。本文讲述的就是如何在不重新编译ibatis源码的前提下,为ibatis引入hibernate式的...

    hibernate动态分表

    【hibernate动态分表】是一种数据库设计策略,主要用于处理大数据量的问题,通过将数据分散到多个物理表中,以实现水平扩展,提高查询效率,减轻单表的压力。在Java Web开发中,Hibernate作为一款流行的ORM(对象...

    hibernate_search.pdf

    - **构建查询**:Lucene查询和Hibernate Search查询的构造方法,包括通用查询、分页、排序和结果获取策略。 - **结果处理**:考虑性能因素,控制结果集大小,使用结果转换器,并理解查询结果。 - **过滤器**:基于...

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置

    Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型  1.2.1 概念模型  1.2.2 关系数据模型  1.2.3 域模型  1.2.4 ...

    用HIBERNATE开发留言板系统的设计概要

    在数据库层面,这通常涉及软删除(设置删除标记)或硬删除(物理删除记录),以防止数据丢失。 ### 2. 数据库设计 数据库设计是留言板系统的基础,这里我们使用了MySQL5.0作为数据库。有两个关键表:`userinfo` 和...

    ssh分页

    物理分页是SSH框架中常用的方法,它利用Hibernate的查询功能实现。每次只查询数据库中的一小部分数据,即一页的数据。分页参数包括当前页码和每页显示的记录数。在执行查询前,需要先计算出总记录数,然后根据这些...

    hibernate入门

    3. 分页查询:通过Query的setFirstResult()和setMaxResults()方法实现分页。 4. 软删除:通过逻辑删除而不是物理删除,保持数据库数据完整。 5. 批量操作:优化大量数据的插入、更新和删除,如bulk update和bulk ...

    用ssh实现的一个简单的分页

    1. **基于SQL的物理分页**:在SQL查询中直接指定LIMIT和OFFSET来获取指定范围的数据,这种方法简单直观,但当数据量大时,效率较低,因为每次查询都需要计算OFFSET,可能导致性能瓶颈。 2. **使用Hibernate的 ...

    j2ee分页(假分页)

    对于大数据量的场景,通常会采用“真分页”(物理分页),即每次只从数据库查询一部分数据,减少内存压力。 在实际开发中,我们还可以结合缓存机制,如Hibernate的二级缓存,进一步优化性能。此外,现代的Web开发...

    页面列表实现假分页

    假分页不同于传统的物理分页,它不预先计算和生成所有页面,而是根据用户的滚动行为动态加载更多数据。本教程将围绕Struts2和Hibernate框架,讲解如何实现页面列表的假分页。 **一、Struts2框架简介** Struts2是一...

    java逻辑分页

    逻辑分页不同于物理分页,物理分页是在数据库层面进行数据切片,而逻辑分页则是在应用程序层面上实现,通常通过查询全部数据并按需显示每一页的数据。 这篇博客“java逻辑分页”可能详细介绍了如何在Java应用中实现...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型  1.2.1 概念模型  1.2.2 关系数据模型  1.2.3 域模型  1.2.4 ...

Global site tag (gtag.js) - Google Analytics