首页>代码>java开发svn后台管理系统SVNAdmin>/svnadmin/src/main/java/org/svnadmin/common/entity/PageBean.java
package org.svnadmin.common.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName: PageBean
 * @Description: 分页工具类
 * @author hpboys
 * @date 2015年6月6日 下午3:34:22
 * @version V1.0  
 * @param <T>
 */
public class PageBean<T> implements Serializable {
	private int currentPage;//第几页,即当前页
	private int pageSize;//每页大小
	private int beginRow;//开始取的行数
	private int pageCount;//共几页
	private int recordCount;//记录总数
	private List<T> dataList;//数据
	private Map<String, Object> footer;//底部统计区

	private int startPage;//开始页码数
	private int endPage;//结束页码数
	private List<Integer> pages;//动态页码
	private int maxShowPageNum = 6;//最大显示页码数
	private Map<String, String> queryMap;//查询参数
	private String sqlWhere;

	public PageBean(){}

	public PageBean(int pageNumber, int pageSize) {
		this.currentPage = pageNumber;
		this.pageSize = pageSize;
	}
	
	public PageBean(int pageNumber, int pageSize,int maxShowPageNum) {
		this.currentPage = pageNumber;
		this.pageSize = pageSize;
		this.maxShowPageNum = maxShowPageNum;
	}
	
	private void initPages(){
		int startPage = 0;
    	int endPage = 0;
    	int ban_page_Num = (this.maxShowPageNum % 2)==0? (this.maxShowPageNum / 2):(this.maxShowPageNum / 2)+1;
    	if ( this.currentPage <= ban_page_Num) {
    		// 如果当前页码小于显示最大页码数的一半
    		startPage = 1;
    		if (pageCount <= this.maxShowPageNum) {
    			endPage = pageCount+1;
    		} else {
    			endPage = this.maxShowPageNum;
    		}
    	} else if ( this.currentPage > (pageCount - ban_page_Num) ) {
    		// 如果当前页面大于最大页数-显示最大页码数的一半
    		startPage = pageCount - this.maxShowPageNum;
    		endPage = pageCount;
    	} else {
    		// 否则,保持当前页码在输出页码数的中间
    		startPage = this.currentPage - ban_page_Num + 1;
    		endPage = this.currentPage + ban_page_Num;
    	}
    	if (startPage < 1) startPage = 1;
    	if (endPage > pageCount) endPage = pageCount;
    	this.startPage = startPage;
    	this.endPage = endPage;
    	this.pages = new ArrayList<Integer>();
    	for (int i = this.startPage; i <= this.endPage; i++) {
			this.pages.add(i);
		}
	}
	
	
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getPageCount() {
		return pageCount;
	}
	
	public void setPageCount(int recordCount) {
		if(recordCount%pageSize==0){
			this.pageCount = recordCount/pageSize;
		}else{
			this.pageCount = recordCount/pageSize+1;
		}
		initPages();
	}
	public int getRecordCount() {
		return recordCount;
	}
	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}
	public List<T> getDataList() {
		if(null==dataList){
			return new ArrayList<T>(0);
		}
		return dataList;
	}
	public void setDataList(List<T> dataList) {
		this.dataList = dataList;
	}

	public Map<String, Object> getFooter() {
		return footer;
	}

	public void setFooter(Map<String, Object> footer) {
		this.footer = footer;
	}

	public int getStartPage() {
		return this.startPage;
	}

	public void setStartPage(int startPage) {
		this.startPage = startPage;
	}

	public int getEndPage() {
		return endPage;
	}

	public void setEndPage(int endPage) {
		this.endPage = endPage;
	}

	public void setPages(List<Integer> pages) {
		this.pages = pages;
	}

	public List<Integer> getPages() {
    	return pages;
	}

	public int getMaxShowPageNum() {
		return maxShowPageNum;
	}

	public void setMaxShowPageNum(int maxShowPageNum) {
		this.maxShowPageNum = maxShowPageNum;
	}

	public int getBeginRow() {
		this.beginRow = (this.getCurrentPage()<=1?0:this.getCurrentPage()-1)*this.getPageSize();
		return this.beginRow;
	}

	public void setQuery(String queryKey,String queryVal) {
		if(this.queryMap == null){
			this.queryMap = new HashMap<String,String>();
		}
		this.queryMap.put(queryKey,queryVal);
	}

	public void setQueryMap(Map<String, String> queryMap) {
		this.queryMap = queryMap;
	}
	
	public Map<String, String> getQueryMap() {
		return queryMap;
	}

	/**
	 * @Description: 传入查询参数KEY,得到值
	 * @return String 返回类型
	 */
	public String get(String key){
		return this.queryMap==null? null:this.queryMap.get(key);
	}

	public String getSqlWhere() {
		return sqlWhere;
	}

	public void setSqlWhere(String sqlWhere) {
		this.sqlWhere = sqlWhere;
	}

	
}
最近下载更多
cgfeng12345  LV10 2022年5月17日
Isadmin_111  LV1 2022年4月30日
zlj04927834  LV1 2021年10月18日
牛牪犇逼class  LV4 2021年9月2日
hj960511  LV2 2021年8月15日
romanticism  LV3 2021年7月15日
zllianzhou  LV1 2021年6月6日
jinyinping  LV1 2020年9月24日
agooder  LV1 2020年8月12日
最近浏览更多
遥望星空扣扣 7月20日
暂无贡献等级
647123  LV1 5月14日
jinling2024  LV3 2月4日
aachl1  LV5 1月16日
WBelong  LV8 2023年12月25日
uni-code_0123  LV1 2023年11月29日
走刀口  LV4 2023年11月26日
马宇轩  LV1 2023年11月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友