Hibernate分页结构

记录几个实现分页的封装

public List<T> queryFind(String hql,
            Map<String, Object> params, Integer page, Integer rows) {
        if (page == null || page < 1) {
            page = 1;
        }
        if (rows == null || rows < 1) {
            rows = 15;
        }
        Query q = getSession().createQuery(hql);
        if (params != null && !params.isEmpty()) {
            for (String key : params.keySet()) {
                q.setParameter(key, params.get(key));
            }
        }
        return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list();
    }
public long count(String hql) {
        return (Long) getSession().createQuery(hql).uniqueResult();
    }
        

一个list  一个count。

时间: 2024-11-25 12:12:29

Hibernate分页结构的相关文章

Hibernate分页功能数据重复问题

今天遇到一个很憋屈的问题那就是hibernate分页查询中出现重复数据,本来一直没有在意,以为是数据问题,但是一查程序和数据都没有问题,继续深入查看,找到问题了就是order By 时出的问题,唉.... oracle中的分页机制就是通过rownum函数来实现的,rownum顺序号的生成是排序后生成的,例如:select * from web_user where  rownum > 0 and rownum <= 10 order by name 这个排序中使用了name字段作为排序,但是数

Hibernate分页查询小结

通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1.QBE(Qurey By Example)检索方式 QBE是最简单的,但是功能也是最弱的,QBE的功能不是特别强大,仅在某些场合下有用.一个典型的使用场合就是在查询窗口中让用户输入一系列的查询条件,然后返回匹配的对象.QBE只支持=和like比较运算符,无法不大区间值,及其或的匹配.在这种情况下,还是采用HQL检索方式或QBC检索方式. Java代码   /** * @function 根据传递过来的Object,

Hibernate(三)结构-配置文件-实体映射及配置文件

一.体系结构 SessionFactory:属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照.Session的工厂.有可能持有一个可选的数据缓存可以进程级别或者群级别保存可以在事务中重用数据. 会话,Session:单线程,生命期短促的对象,代表应用程序和持久化层之间的一次对话.封装了一个JDDBC连接,它也是Transaction的工厂,保存有必须持久化对象的缓存,用于遍历对象,或者通过标识符查找对象. 持久化对象(Persistent Object)及其集合(Collect

Hibernate 分页 查询

昨天的作业  分页: 主要的代码块:(明天实现分页的封装) 1 package com.cy.beans; 2 3 import java.util.List; 4 5 /** 6 * 定义一个分页对象 7 * @author acer 8 * 9 */ 10 public class Pager { 11 12 private int page;//当前页码 13 private int pageTotal;//总页码 14 private int rowsTotal;//总条数 15 pri

hibernate 分页代码

在互联网中,分页技术的使用非常广泛,也是必须的.在hibernate中使用分页很方便,如下所示: (1)setFirstResult(int firstResult):设置开始检索的对象,参数firstResult设置开始检索的起始对象. (2) setMaxResults(int maxResults):设置每次检索返回的最大对象数.参数maxResults用于设置每次检索的返回对象数目. 具体参考代码如下: public List findbypage(int pageNo, int pag

struts2+hibernate(分页实现)

//Dao类中实现了list集合和pagetotal方法 package zjf.strhib.Dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class PageDao { public List page

Hibernate分页查找

后台操作除了增删改查,分页也是无可厚非的了. 首先我们来看下pageBean类 package cn.qxh.shop.utils; import java.util.ArrayList; import java.util.List; import cn.qxh.shop.product.vo.Product; /** * 分页类的封装 * @author qxh * */ public class PageBean<T> { private int page;//当前页 private in

hibernate分页实现

1.创建分页实体类 public class PageBean { private int page; // ???? private int rows; // ÿ???¼?? private int start; // ???? public PageBean(int page, int rows) { super(); this.page = page; this.rows = rows; } public int getPage() { return page; } public void

Hibernate目录结构以及环境搭建

上篇博客,概述了一下Hibernate,今天这篇继续说说Hibernate包含的各个包的含义,以及对hibernate环境的搭建. 一.hibernate目录解析 下载好一个hibernate包,解压看到里边有若干个文件夹,这些东东是都是什么,有神马作用呢?看下图: 上图是捡着重要的目录给重新命名了. 由上至下依次表示: API 文档--doc:操作的hibernate的手册, 映射文件实例--eg:里边包含的就是hbm文件的书写实例, 配置文件实例--etc:包含hibernate配置文件cf