一個java分頁的工具類


上代碼

package com.elan.ffoodcrm.erpapi.basis.entity;

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

/**
 * @author zw
 * @Description: (介紹)
 * @date
 **/
public class PageBean<T> {
    private List<T> lists;// 存放  需要顯示的 實體類數據
    private Integer pageNo = 1;// 當前頁碼數(默認給1)
    private Integer pageSize; // 每頁顯示的行數
    private Integer totalPage;// 總頁數
    private Integer rows;// 總行數

    //對私有屬性的封裝
    // 不需要對外提供totalPage總頁數的set方法   因為totalPage是根據  總行數  和  每頁顯示的行數求出來的
    public List<T> getLists() {
        return lists;
    }
    public void setLists(List<T> lists) {
        this.lists = lists;
    }
    public Integer getPageNo() {
        return pageNo;
    }
    public Integer getPageSize() {
        return pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    public Integer getTotalPage() {
        return totalPage;
    }
    public Integer getRows() {
        return rows;
    }

    //設置有行數據 並求出頁數
    public void setRows(Integer rows) {
        this.rows = rows;
        //頁數      根據傳入的 總行數 以及 每頁顯示的行數 求出總頁數
        this.totalPage=rows % pageSize==0 ? rows/pageSize : (rows/pageSize+1);
    }
    //設置頁碼
    public void setPageNo(Integer pageNo) {
        //如果傳入的頁碼為空 或者小於0  就默認給 1
        if (null == pageNo || pageNo < 0)
            this.pageNo = 1;
            //如果當前頁碼數>總頁碼數    就讓 當前頁碼數 等於 最大頁碼數
        else if (pageNo > this.totalPage && this.totalPage> 0)
            this.pageNo = this.totalPage;
            //都符合條件 就讓 當前頁碼數 等於 傳入的頁碼數
        else
            this.pageNo = pageNo;
    }


}

使用

/**
     * 商品信息
     * @param page 當前頁 
     * @param Number 每頁分的行數
     * @return
     */
public List<CommoditiesBean> getGoods(Integer page, Integer Number) {
        //得到表中的行數
        int Commod = informationService.getGoodsCount(); 
        //創建工具類對象
        PageBean<CommoditiesBean> pager = new PageBean<>(); 
        //每頁顯示的行數
        pager.setPageSize(Number);
        //設置總行數
        pager.setRows(Commod); 
        //當前頁數
        pager.setPageNo(page); 
        //mysql獲取分頁第一個參數    (pager.getPageNo() - 1) * pager.getPageSize();
        //獲取分頁第一個參數
        int first = (pager.getPageNo() - 1) * pager.getPageSize() + 1; 
        //調用service層將分頁的兩個參數傳遞過去
        List<CommoditiesBean> commoditiesBeans = informationService.getGoods(first, pager.getPageSize());
        //將的到的對象放到PagerBean類里
        pager.setLists(commoditiesBeans);

        return pager.getLists();
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM