JAVA分页工具

  1 public class Pagination<T>  {
  2     /**
  3      * 当前页
  4      */
  5     private int page;
  6     /**
  7      * 最大页
  8      */
  9     private int max;
 10     /**
 11      * 下一页
 12      */
 13     private int next;
 14     /**
 15      * 上一页
 16      */
 17     private int previous;
 18     /**
 19      * 本页显示数据开始位置
 20      */
 21     private int start;
 22     /**
 23      * 本页显示数据的结束未知
 24      */
 25     private int end;
 26     /**
 27      * 数据
 28      */
 29     private T data;
 30     /**
 31      * 总数
 32      */
 33     private int maxRows;
 34 
 35     public Pagination(){};
 36 
 37     /**
 38      * 分页
 39      * @param maxRows 数据的最大行数
 40      * @param pageNum 每页最多显示多少条数据
 41      * @param curPage 指定当前页
 42      */
 43     public Pagination(int maxRows,int pageNum,int curPage){
 44         this.maxRows = maxRows;
 45 
 46         curPage = curPage < 1 ? 1 : curPage;
 47         this.page = curPage;
 48         this.max = maxRows%pageNum == 0 ? maxRows/pageNum : maxRows/pageNum + 1;
 49 
 50         if(page < max){
 51             this.next =  page + 1;
 52         }else if(page == max){
 53             this.next = max;
 54         }
 55 
 56         if(page > 1){
 57             this.previous = page - 1;
 58         }if(page == 1){
 59             this.previous = page;
 60         }
 61 
 62         this.start = (curPage-1) * pageNum;
 63         this.end =   pageNum;
 64     }
 65 
 66     public int getPage() {
 67         return page;
 68     }
 69 
 70     public void setPage(int page) {
 71         this.page = page;
 72     }
 73 
 74     public int getMax() {
 75         return max;
 76     }
 77 
 78     public void setMax(int max) {
 79         this.max = max;
 80     }
 81 
 82     public int getNext() {
 83         return next;
 84     }
 85 
 86     public void setNext(int next) {
 87         this.next = next;
 88     }
 89 
 90     public int getPrevious() {
 91         return previous;
 92     }
 93 
 94     public void setPrevious(int previous) {
 95         this.previous = previous;
 96     }
 97 
 98     public T getData() {
 99         return data;
100     }
101 
102     public void setData(T data) {
103         this.data = data;
104     }
105 
106     public int getStart() {
107         return start;
108     }
109 
110     public void setStart(int start) {
111         this.start = start;
112     }
113 
114     public int getEnd() {
115         return end;
116     }
117 
118     public void setEnd(int end) {
119         this.end = end;
120     }
121 
122     public int getMaxRows() {
123         return maxRows;
124     }
125 
126     public void setMaxRows(int maxRows) {
127         this.maxRows = maxRows;
128     }
129 }

 

posted @ 2018-12-10 15:43  铅笔coding  阅读(642)  评论(0)    收藏  举报