java通用分页代码

PageUtils 用于计算 分页的实体类


package cn.et.emp.utils;
/**
 * 用于计算 分页的实体类
 * @author Administration
 *
 */
public class PageUtils {

	public static PageBean calc(int curPage, int pageSize, int totalSize){
		//创建一个 分页实体类
		PageBean pb = new PageBean();
		
		//获取到当前页  数据库总条数 每页显示数量
		pb.setPageSize(pageSize);
		pb.setTotalSize(totalSize);
		pb.setCurPage(curPage);
		
		//计算出 总页数
		int pageCount = totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
		pb.setPageCount(pageCount);
		
		//计算出上一页
		int prePage = curPage==1?curPage:curPage-1;
		pb.setPrePage(prePage);
		
		//计算出下一页
		int nextPage = curPage<pageCount?curPage+1:curPage;
		pb.setNextPage(nextPage);
		
		//计算出 数据库查询用的 rownum
		int startIndex = (curPage-1)*pageSize+1;
		int endIndex = curPage*pageSize;
		pb.setStartIndex(startIndex);
		pb.setEndIndex(endIndex);
		
		return pb;
	}

}



PageBean 分页实体类

package cn.et.emp.utils;

import java.util.List;

/**
 * 分页实体类
 * @author Administration
 *
 */
public class PageBean {

	/**
	 * 每页显示条数
	 * 
	 * 
	 */
	private int pageSize;
	
	/**
	 * 数据库查询出来的总条数
	 * 
	 */
	private int totalSize;
	
	
	/**
	 * 总页数 = 总条数/每页显示条数
	 * 
	 * int 类型进行运算 保留整数部分
	 * 所以 10/5=2  11/5=2
	 * 
	 * 所有 我们进行取模 如果总条数取模每页显示条数 如果余数为0 那么就说明是除的尽
	 * 得出公式:总页数 = 总条数%每页显示条数==0?总条数/每页显示条数:总条数/每页显示条数+1;
	 */
	private int pageCount;
	
	
	/**
	 * 当前页
	 */
	private int curPage;
	
	
	/**
	 * 下一页
	 * 
	 * curPage=curPage<pageCount?curPage+1:curPage;
	 *如果 当前页小于总页数 也就说明不是最后一页 就返回当前页+1
	 *反之 返回最后一页
	 */
	private int nextPage;
	
	/**
	 * 上一页
	 * 
	 * 
	 * curPage=curPage==1?curPage:curPage-1;
	 * 如果 当前页=1 说明就是第一页 就直接返回当前页
	 * 如果不等于1  说明不是第一页 就返回当前页-1
	 */
	private int prePage;
	
	/**
	 * 用于存储查询查询结果集合的集合
	 */
	private List data;
	
	
	
	/**
	 * 数据库查询 rownum的起始
	 * 
	 * (当前页-1)*每页显示数+1
	 */
	private int startIndex;
	
	
	
	/**
	 * 
	 * 当前页*每页显示数
	 * 数据库查询 rownum的结尾
	 */
	private int endIndex;

	

	
	
	public int getPageSize() {
		return pageSize;
	}



	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}



	public int getTotalSize() {
		return totalSize;
	}



	public void setTotalSize(int totalSize) {
		this.totalSize = totalSize;
	}



	public int getPageCount() {
		return pageCount;
	}



	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}



	public int getCurPage() {
		return curPage;
	}



	public void setCurPage(int curPage) {
		this.curPage = curPage;
	}



	public int getNextPage() {
		return nextPage;
	}



	public void setNextPage(int nextPage) {
		this.nextPage = nextPage;
	}



	public int getPrePage() {
		return prePage;
	}



	public void setPrePage(int prePage) {
		this.prePage = prePage;
	}

	public List getData() {
		return data;
	}



	public void setData(List data) {
		this.data = data;
	}



	public int getStartIndex() {
		return startIndex;
	}

	public void setStartIndex(int startIndex) {
		this.startIndex = startIndex;
	}



	public int getEndIndex() {
		return endIndex;
	}



	public void setEndIndex(int endIndex) {
		this.endIndex = endIndex;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值