分頁工具類1

import io.undertow.servlet.core.ApplicationListeners;
import org.jaxen.expr.iter.IterableNamespaceAxis;
import org.omg.CORBA.INTERNAL;

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

/**
 * @author lqx
 * @ClassName PageUtilL
 * @description 文件在 E(我的網盤\我的筆記):\學習文檔子目錄壓縮\工具技術2\分頁工具類\PageUtilL.java
 * @date 2020/3/19 18:59
 */
public class PageUtilL<T> {
    /***
     * @Description:
     * @Author: lqx
     * @RequestMethod:
     * @Date: 2020/3/19 19:11
     * @param page: 頁碼
     * @param limit: 每頁顯示條數
     * @param list:
     * @return: java.util.List<T>
     **/
    public List<T>  page(Object page,Object limit,List<T> list){
        if(list.size()<1){
            return  null;
        }
        List<T>  temp=new ArrayList<T>();
        int mrPage=1;  //默認頁碼
        int mrLimt=1;  //默認每頁條數
        int total=list.size(); //總條數
        int pageCount=1; //總頁數
        if(page!=null && page.toString()!="" && limit!=null && limit.toString()!=""){
            mrPage=Integer.parseInt(page.toString());
            mrLimt=Integer.parseInt(limit.toString());
            if(total%mrLimt==0){
                pageCount=total%mrLimt;
            }else{
                pageCount=total%mrLimt+1;
            }
        }else {//不分頁每頁顯示默認每頁條數最多10條,頁碼爲1,總頁數1
            if(total>10){
                mrLimt=10;
            }else {
                mrLimt=total;
            }
        }

        //目標起始記錄,結束記錄
        int start=(mrPage-1)*mrLimt;
        int end=mrPage*mrLimt;
        if(start>total){//如果要查詢的目標index>數據的總條數
            return null;
        }
        if(end>total){//如果要查詢的目標endIndex>數據的總條數
            end=total;
        }

        for(;start<end;start++){
            temp.add(list.get(start));
        }
        return temp;
    }

    /***
     * @Description: 分頁頁碼設置
     * @Author: lqx
     * @RequestMethod:
     * @Date: 2020/4/13 15:18
     * @param params: page:當前頁,limit:每頁顯示條數
     * @return: java.util.List<T>
     **/
    public void  pageYm(Map<String, Object> params){
        //當前頁數
        int page = params.get("page")==null?0:Integer.parseInt(params.get("page").toString());
        //每頁條數
        int limit = params.get("limit")==null?0:Integer.parseInt(params.get("limit").toString());
        //開始記錄數
        int startCount = (page - 1) * limit;
        params.put("page", startCount);
        params.put("limit", page  * limit);
    }


}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章