分页

来源:互联网 发布:排名易淘宝刷流量软件 编辑:程序博客网 时间:2024/06/08 13:57
 

StringBuffer hql = new StringBuffer("from  TblLegalHoliday  WHERE  1=1");
  StringBuffer countHql = new StringBuffer(
    "select count(*) from  TblLegalHoliday  WHERE  1=1");

  if (holidayDateStart != null && holidayDateEnd != null) {
   hql.append(" and holidayDate>=? and holidayDate <=?");
   countHql.append(" and holidayDate>=? and holidayDate <=?");
  }
  if (!StringUtils.isEmpty(dateName)) {
   hql.append(" and dateName like :dateName");
   countHql.append(" and dateName like :dateName");
  }
  Session session = getHibernateTemplate().getSessionFactory()
    .getCurrentSession();
  Query query = session.createQuery(hql.toString());
  Query query2 = session.createQuery(countHql.toString());
  if (holidayDateStart != null && holidayDateEnd != null) {
   query.setDate(0, DateUtils.parserStringToDate(holidayDateStart));
   query.setDate(1, DateUtils.parserStringToDate(holidayDateEnd));

   query2.setDate(0, DateUtils.parserStringToDate(holidayDateStart));
   query2.setDate(1, DateUtils.parserStringToDate(holidayDateEnd));
  }
  if (!StringUtils.isEmpty(dateName)) {
   query.setString("dateName", "%" + dateName + "%");
   query2.setString("dateName", "%" + dateName + "%");
  }
  query.setFirstResult(startRow);
  query.setMaxResults(pageSize);

  pageBean.setList(query.list());

  query.setFirstResult(startRow);
  query.setMaxResults(pageSize);
  int totalPage = ((Long) query2.uniqueResult()).intValue();
  int pageIndex = (startRow / pageSize) + 1;

  pageBean.setCurrentPage(pageIndex);

  pageBean.setPageSize(pageSize);
  int pageCount = (int) ((totalPage - 1 + pageSize) / pageSize);
  if (pageCount > 0 && pageIndex > pageCount) {
   pageIndex = pageCount;
  }
  pageBean.setTotalPage(pageCount);
  System.out.println("***************** totalPage:" + totalPage);
  pageBean.setAllRow(totalPage);

原创粉丝点击