Hibernate分页

原创 2007年09月12日 01:46:00

DAO类

package com.coolpep.order.dao;

import java.util.List;

public interface PaginationDAO {
 
 public int getCount(String cond) throws Exception;
 
 public int getPage(String cond) throws Exception;
 
 public List getPage(String cond, int page, int cont) throws Exception;

}

DAPImpl类

package com.coolpep.order.impl;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.coolpep.order.dao.PaginationDAO;
import com.coolpep.order.factory.DAOFactory;

public class PaginationDAOImpl implements PaginationDAO {
 
 private Session session = null;
 private int totalPage;   //总页数
 private int totalCount;  //总行数
 private int pageSize = 5;   //页面显示条数
 private int currentPage; //当前页码

 public PaginationDAOImpl() {
  // TODO Auto-generated constructor stub
  this.session = new Configuration().configure().buildSessionFactory().openSession();
 }
 
 
 /**
  * 汇总数据获取数据总行数
  *
  * */
 public int getCount(String cond) throws Exception{
  int totalCount = 0;

  try {
   Transaction tran = this.session.beginTransaction();
   Query q = this.session.createQuery("select count(*) from Orders where osource=?");
   q.setString(0, cond);
   List list = q.list();
   totalCount = ((Integer) list.get(0)).intValue();
   tran.commit();
   this.session.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  
  return totalCount;
 }
 
 /**
  * 汇总数据获取数据总页数
  *
  * */
 public int getPage(String cond) throws Exception{
  
  try{
   Transaction tran = this.session.beginTransaction();
   DAOFactory dao = new DAOFactory();
   totalCount = dao.getPaginationDAOInstance().getCount(cond);
   if(totalCount%pageSize>0)
    totalPage = totalCount/pageSize + 1;
   if(totalCount%pageSize==0)
    totalPage = totalCount/pageSize;
   if(totalCount%pageSize<0)
    totalPage = totalCount/pageSize;
   tran.commit();
   this.session.close();
  } catch (Exception e){
   e.printStackTrace();
  }
  return totalPage;
 }
 
 /**
  * 根据条件分页
  *
  * @param cond  查找条件
  * @param page  当前页数
  * @param count
  * */
 public List getPage(String cond, int currentPage, int pageSize){
  List list = null;
  String hql = "from Orders where osource=?";
  Query q = this.session.createQuery(hql);
  q.setString(0, cond);
  q.setFirstResult(pageSize*(currentPage-1));
  q.setMaxResults(pageSize);
  list = q.list();
  return list;
  
 }
 

}
 

hibernate分页工具类

hibernate分页工具类,附带具体的分页方法
  • u013614451
  • u013614451
  • 2014年05月10日 17:28
  • 1381

Hibernate 分页的两种方式

第一种:hql分页(不推荐)需要手动关闭session连接//PageBean.java @SuppressWarnings("hiding") public class PageBean { ...
  • yangfan5314
  • yangfan5314
  • 2017年06月23日 16:51
  • 533

Hibernate的分页技术

Hibernate的分页技术是透明的,,你理解最好,不能理解先用着呗。。  说白了就是查询语句中你不用写上一堆的分页语句了,Hibernate已经实现了,但最终的查询跟手工的查询没两样,oracle...
  • you_off3
  • you_off3
  • 2012年05月11日 14:27
  • 4717

hibernate 数据分页显示 及 分页导航栏的设置

一个小案例 hibernate+struts2 对一个教室信息进行分页显示 只是对一个教室信息(教室名字,教室地址)在页面上进行简单分页,没有多加美工的前端处理,初学者学习javaee如果有不足的地...
  • zlj1217
  • zlj1217
  • 2017年02月14日 19:59
  • 530

Hibernate中多表查询的分页

Session s=HibernateUtil.currentSession(); Transaction t=s.beginTransaction(); Query q=s.createQuery...
  • zjxux
  • zjxux
  • 2008年03月07日 10:01
  • 2081

spring mvc + hibernate 分页

有关分页的问题已经老生常谈,在这里我展示一个简单的demo,并简单介绍下分页     的思路,思路理清了,代码也就好写了。    简单分析一下理一下思路 第一,访问前台某个页面,需要在首页展示固定条数...
  • zhanganbo
  • zhanganbo
  • 2015年09月21日 15:54
  • 3457

hibernate query分页封装

package com.ytby.util; import java.util.List; import org.hibernate.HibernateException; import org....
  • qq7342272
  • qq7342272
  • 2015年05月20日 17:42
  • 2494

用户Hibernate写的一个分页

1.创建一个分页组建PageModel.javapackage com.zsw.util;import java.util.List;/** * 分页组建 * @author zsw * 时间:200...
  • sz_bdqn
  • sz_bdqn
  • 2009年02月13日 11:09
  • 1949

实现了hibernate的简单的分页了。其实很简单(一)

今天终于实现了hibernate实现分页了。。把oksonic的SSH的例子做了增加,实现了查询的分页。同时现在也把srtuts + spring + hibernate  结合的实现方法重新复习了一...
  • xdy3008
  • xdy3008
  • 2006年08月10日 16:05
  • 1072

最优化最灵活的Hibernate分页_hql实现

page.java(全类代码) package com.yongle.web.utils; import java.util.ArrayList; import java.util.List; ...
  • lzgame
  • lzgame
  • 2011年09月05日 11:21
  • 1607
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate分页
举报原因:
原因补充:

(最多只允许输入30个字)