java分页类Page

package com.h3c.itac.util;

import java.util.ArrayList;
import java.util.List;

@SuppressWarnings("rawtypes")
public class Page {

	private int currentPageNum = 1;// 当前第几页(默认第一页),---主要用于传递到前台显示
	private int totalPageNum;// 总页数
	private int totalCount;// 总记录数
	private int perPageSize = 5;// 每页显示的记录条数(默认5条)

	private List entitys = new ArrayList();// 记录当前页中的数据条目

	// 所有参数都进行修改

	public Page(int currentPageNum, int totalCount, int perPageSize,
			List entitys) {
		this.totalCount = totalCount;
		this.perPageSize = perPageSize;
		this.totalPageNum = totalCount % perPageSize == 0 ? totalCount
				/ perPageSize : totalCount / perPageSize + 1;
		this.entitys = entitys;
		this.currentPageNum = currentPageNum<1?1:(currentPageNum>totalPageNum?totalPageNum:currentPageNum);//如果当前页小于第一页,则停留在第一页
	}

	// 使用默认的当前页和每页显示记录条数
	public Page( int totalCount, List entitys) {
		this.totalCount = totalCount;
		this.totalPageNum = totalCount % perPageSize == 0 ? totalCount
				/ perPageSize : totalCount / perPageSize + 1;
		this.entitys = entitys;
		this.currentPageNum = currentPageNum<1?1:(currentPageNum>totalPageNum?totalPageNum:currentPageNum);//如果当前页小于第一页,则停留在第一页
	}

	public int getCurrentPageNum() {
		return currentPageNum;
	}

	public void setCurrentPageNum(int currentPageNum) {
		this.currentPageNum = currentPageNum<1?1:(currentPageNum>totalPageNum?totalPageNum:currentPageNum);//如果当前页小于第一页,则停留在第一页
	}

	public int getTotalPageNum() {
		return totalPageNum;
	}

	public void setTotalPageNum(int totalPageNum) {
		this.totalPageNum = totalCount % perPageSize == 0 ? totalCount
				/ perPageSize : totalCount / perPageSize + 1;
	}

	public int getTotalCount() {
		return totalCount;
	}

	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}

	public int getPerPageSize() {
		return perPageSize;
	}

	public void setPerPageSize(int perPageSize) {
		this.perPageSize = perPageSize;
	}

	public List getEntitys() {
		return entitys;
	}

	public void setEntitys(List entitys) {
		this.entitys = entitys;
	}

	@Override
	public String toString() {
		return "PageUtil [currentPageNum=" + currentPageNum + ", totalPageNum="
				+ totalPageNum + ", totalCount=" + totalCount
				+ ", perPageSize=" + perPageSize + ", entitys=" + entitys + "]";
	}

}

spring4+hibernate4分页查询:

//分页查询,从offset开始,向下查找length条数据,但是不包括offset的数据
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public List<User> getUserPagingData(int currentPageNum,final int perPageNum){
		final String hql ="from User u";
		final int offset = (currentPageNum-1)*perPageNum;
		List<User> users = this.getHibernateTemplate().execute(new HibernateCallback() {

			@Override
			public Object doInHibernate(Session session)
					throws HibernateException {
				
				Query query = session.createQuery(hql);
				query.setFirstResult(offset);
				query.setMaxResults(perPageNum);
				List<User> us = query.list();
				
				return us;
			}
		});
		return users;
	}

spring3的方法好像是executeFind

spring4+hibernate4查询数据库中所有记录:

public int getUserTotalCount(){
	int count= ((Long)this.getHibernateTemplate().find("select count(userId) from User u").iterator().next()).intValue();
	return count;
}

hibernate中查询数据库中所有记录:

String hql = "select count(*)  from Student ";
Query query = session.createQuery(hql);
int count = ((Long) query.iterate().next()).intValue();


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值