JAVA 分页工具类及其使用

package pers.kangxu.datautils.common;


import java.io.Serializable;
import java.util.List;


/**
 * 
 * <b> 分页通用类 </b>
 * 
 * @author kangxu
 * @param <T>
 * 
 */
public class Pager<T> implements Serializable {


    /**
     * 
     */
    private static final long serialVersionUID = 4542617637761955078L;


    /**
     * currentPage 当前页
     */
    private int currentPage = 1;
    /**
     * pageSize 每页大小
     */
    private int pageSize = 10;
    /**
     * pageTotal 总页数
     */
    private int pageTotal;
    /**
     * recordTotal 总条数
     */
    private int recordTotal = 0;
    /**
     * previousPage 前一页
     */
    private int previousPage;
    /**
     * nextPage 下一页
     */
    private int nextPage;
    /**
     * firstPage 第一页
     */
    private int firstPage = 1;
    /**
     * lastPage 最后一页
     */
    private int lastPage;
    /**
     * content 每页的内容
     */
    private List<T> content;


    // 以下set方式是需要赋值的
    /**
     * 设置当前页 <br>
     * 
     * @author kangxu
     * 
     * @param currentPage
     */
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }


    /**
     * 设置每页大小,也可以不用赋值,默认大小为10条 <br>
     * 
     * @author kangxu
     * 
     * @param pageSize
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }


    /**
     * 设置总条数,默认为0 <br>
     * 
     * @author kangxu
     * 
     * @param recordTotal
     */
    public void setRecordTotal(int recordTotal) {
        this.recordTotal = recordTotal;
        otherAttr();
    }


    /**
     * 设置分页内容 <br>
     * 
     * @author kangxu
     * 
     * @param content
     */
    public void setContent(List<T> content) {
        this.content = content;
    }


    /**
     * 设置其他参数
     * 
     * @author kangxu
     * 
     */
    public void otherAttr() {
        // 总页数
        this.pageTotal = this.recordTotal % this.pageSize > 0 ? this.recordTotal / this.pageSize + 1 : this.recordTotal / this.pageSize;
        // 第一页
        this.firstPage = 1;
        // 最后一页
        this.lastPage = this.pageTotal;
        // 前一页
        if (this.currentPage > 1) {
            this.previousPage = this.currentPage - 1;
        } else {
            this.previousPage = this.firstPage;
        }
        // 下一页
        if (this.currentPage < this.lastPage) {
            this.nextPage = this.currentPage + 1;
        } else {
            this.nextPage = this.lastPage;
        }
    }


    // 放开私有属性
    public int getCurrentPage() {
        return currentPage;
    }


    public int getPageSize() {
        return pageSize;
    }


    public int getPageTotal() {
        return pageTotal;
    }


    public int getRecordTotal() {
        return recordTotal;
    }


    public int getPreviousPage() {
        return previousPage;
    }


    public int getNextPage() {
        return nextPage;
    }


    public int getFirstPage() {
        return firstPage;
    }


    public int getLastPage() {
        return lastPage;
    }


    public List<T> getContent() {
        return content;
    }


    @Override
    public String toString() {
        return "Pager [currentPage=" + currentPage + ", pageSize=" + pageSize
                + ", pageTotal=" + pageTotal + ", recordTotal=" + recordTotal
                + ", previousPage=" + previousPage + ", nextPage=" + nextPage
                + ", firstPage=" + firstPage + ", lastPage=" + lastPage
                + ", content=" + content + "]";
    }

}


package pers.kangxu.datautils.utils;


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


import pers.kangxu.datautils.common.Pager;


/**
 * 分页数据测试
 * <b>
 *
 * </b>
 * @author kangxu
 *
 */
public class PagerTester {
    
    public static void main(String[] args) {
        
        Pager<String> pager = new Pager<String>();
        
        List<String> content = new ArrayList<String>();
        content.add("str1");
        content.add("str2");
        content.add("str3");
        content.add("str4");
        content.add("str5");
        content.add("str6");
        content.add("str7");
        content.add("str8");
        content.add("str9");
        content.add("str10");
        
        pager.setCurrentPage(1);
        pager.setPageSize(10);
        pager.setRecordTotal(62);
        pager.setContent(content);
        
        System.out.println(pager);


    }


}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值