网站大量收购闲置独家精品文档,联系QQ:2885784924

一个很好的hibernate分页查询.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个很好的hibernate分页查询

通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1、QBE(Qurey By Example)检索方式 QBE是最简单的,但是功能也是最弱的,QBE的功能不是特别强大,仅在某些场合下有用。一个典型的使用场合就是在查询窗口中让用户输入一系列的查询条件,然后返回匹配的对象。QBE只支持=和like比较运算符,无法不大区间值,及其或的匹配。在这种情况下,还是采用HQL检索方式或QBC检索方式。 Java代码 /** ? ?*?@function?根据传递过来的Object,分页显示在数据库中与其匹配的记录 ? ?*?@param?pageNo ? ?*????????????当前页数 ? ?*?@param?pageSize ? ?*????????????每页显示的记录数 ? ?*?@param?object ? ?*????????????将查询条件封装为Object ? ?*?@return?将查询结果封装为Pager返回 ? ?*/?? public?Pager?findPageByExample(int?pageNo,?int?pageSize,?Object?object) ?? { ?? ????Pager?pager?=?null; ?? ????try?? ????{ ?? ????????Criteria?criteria?=?this.getSession().createCriteria( ?? ????????????????Class.forName(this.getEntity())); ?? ?? ????????if?(object?!=?null) ?? ????????{ ?? ????????????criteria.add(Example.create(object).enableLike()); ?? ????????} ?? ?? ????????//?获取根据条件分页查询的总行数 ?? ????????int?rowCount?=?(Integer)?criteria.setProjection( ?? ????????????????Projections.rowCount()).uniqueResult(); ?? ????????criteria.setProjection(null); ?? ?? ????????criteria.setFirstResult((pageNo?-?1)?*?pageSize); ?? ????????criteria.setMaxResults(pageSize); ?? ?? ????????List?result?=?criteria.list(); ?? ?? ????????pager?=?new?Pager(pageSize,?pageNo,?rowCount,?result); ?? ?? ????}?catch?(RuntimeException?re) ?? ????{ ?? ????????throw?re; ?? ????}?finally?? ????{ ?? ????????return?pager; ?? ????} ?? ?? }?? /** * @function 根据传递过来的Object,分页显示在数据库中与其匹配的记录 * @param pageNo * 当前页数 * @param pageSize * 每页显示的记录数 * @param object * 将查询条件封装为Object * @return 将查询结果封装为Pager返回 */ public Pager findPageByExample(int pageNo, int pageSize, Object object) { Pager pager = null; try { Criteria criteria = this.getSession().createCriteria( Class.forName(this.getEntity())); if (object != null) { criteria.add(Example.create(object).enableLike()); } // 获取根据条件分页查询的总行数 int rowCount = (Integer) criteria.setProjection( Projections.rowCount()).uniqueResult(); criteria

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档