- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 2024春苏教版《亮点给力大试卷》 数学一年级下册(全册有答案).docx VIP
- 2024年初中语文中考作文素材名言警句分类总结.pdf VIP
- 人教版(2024年新版)二年级数学下册全册教案(含课后反思).pdf VIP
- 2024年沪科版中考冲刺模拟测试物理试题及参考答案.pdf VIP
- 2024春苏教版《亮点给力大试卷》 数学三年级下册(全册有答案).docx VIP
- GJB5000A2008全套资料2204-2019软件配置管理规程.doc
- 礼别幼年见证成长十岁成长礼PPT模板(精选图文).pptx
- 2024年初中英语中考复习主题句子分类总结.pdf VIP
- 2024年初中英语中考复习主题句子分类总结.pdf VIP
- 数理金融初步 Ross 第三版 中文答案.pdf
文档评论(0)