天天看點

分頁類

基于代理慢于new,記錄一個java分頁類

import java.util.List;

/**
 * 分頁類
 * @param <T>
 */
public class PageUtil<T> {

    private int totalPageCount;//總頁數
    private int pageSzie;//每頁顯示的數量
    private int totalCount;//資訊的總數量
    private int currPageNo;//目前頁碼
    private List<T> newList;//每頁資訊的集合

    public int getTotalPageCount() {
        return totalPageCount;
    }
    public void setTotalPageCount(int totalPageCount) {
        this.totalPageCount=totalPageCount;
    }
    public int getPageSzie() {
        return pageSzie;
    }
    public void setPageSzie(int pageSzie) {
        if(pageSzie>0) {
            this.pageSzie = pageSzie;
        }
    }
    public int getTotalCount() {
        return totalCount;
    }
    public void setTotalCount(int totalCount) {
        if(totalCount>0) {
            this.totalCount=totalCount;
            //計算總頁數
            totalPageCount=this.totalCount % pageSzie==0 ? (this.totalCount/pageSzie):(this.totalCount/pageSzie+1);
        }
    }
    public int getCurrPageNo() {
        if(totalPageCount==0) {
            return 0;
        }
        return currPageNo;
    }
    public void setCurrPageNo(int currPageNo) {
        if(currPageNo>0) {
            this.currPageNo = currPageNo;
        }
    }
    public List<T> getNewList() {
        return newList;
    }
    public void setNewList(List<T> newList) {
        this.newList = newList;
    }

}
      

 業務層調用

/**
     * 分頁查詢資訊
     * @param index 頁碼
     * @param pagesize 每頁顯示的資訊數量
     * @return
     */
    public PageUtil<Company> getPage(String cName, int index, int pagesize){
        PageUtil<Company> cardsPages=new PageUtil<Company>();
        cardsPages.setPageSzie(pagesize);
        cardsPages.setCurrPageNo(index);
        //擷取總行數
        int coutsize=companyMapper.getCount(cName);
        cardsPages.setTotalCount(coutsize);
        //擷取目前頁資料起始點
        index=(index-1)*pagesize;
        cardsPages.setNewList(companyMapper.searchList(cName,index,pagesize));
        return cardsPages;
    }