SubList分页-010-Pager类

概述

1.属性+get、set方法
2.增加泛型到类(getList使用)
3.空参/参数构造器-参数构造器很重要,核心
4.toString方法
5.实现Serializable接口

测试代码

package top.itcourse.page.model;


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


public class Pager<T> implements Serializable{

    private static final long serialVersionUID = 6890057936400025118L;

    // 1.每页显示的记录数目
    private int pageSize;

    // 2.当前数据的页数
    private int currentPage;

    // 3.记录总数目
    private int totalRecord;

    // 4.页面总数目
    private int totalPage;

    // 5.数据List
    private List<T> dataList;

    // 空参构造器
    public Pager() {

    }

    /*
     * 根据List<T> dataList, int currentPage, int pageSize
     * 三个参数算出另外两个
     */
    // 有参构造器
    public Pager(List<T> dataList, int currentPage, int pageSize) {
        if( dataList == null ) {
            return ;
        }

        System.out.println("currentPage: " + currentPage);  

        // 分页总数
        this.pageSize = pageSize;

        // 总记录条数
        this.totalRecord = dataList.size();
        System.out.println("totalRecord: " + this.totalRecord);

        // 页面总数目
        this.totalPage = totalRecord / pageSize;
        if( totalRecord % pageSize != 0 ) {
            totalPage += 1;
        }


        // 当前页:如果传进来的当前页大于总的数目,我们就认为它是最后一页
        System.out.println("totalPage: " + this.totalPage);
        this.currentPage = currentPage;
        if( this.totalPage < currentPage ) {
            this.currentPage = this.totalPage;
        }

        // 数据列(这就是重点了,subList)
            // 当前页 起始记录位置
        System.out.println(this.pageSize + ":" + this.currentPage);
        int fromIndex = this.pageSize*(this.currentPage - 1);       // 好好理解
            // 当前页 结束的记录位置
        int toIndex = this.pageSize*this.currentPage;               // 好好理解
        if( toIndex > totalRecord ) {
            toIndex = totalRecord;
        }
            // 数据列赋值
        this.dataList = dataList.subList(fromIndex, toIndex);
    }


    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }

    public int getTotalRecord() {
        return totalRecord;
    }

    public void setTotalRecord(int totalRecord) {
        this.totalRecord = totalRecord;
    }

    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    public List<T> getDataList() {
        return dataList;
    }

    public void setDataList(List<T> dataList) {
        this.dataList = dataList;
    }

    public static long getSerialversionuid() {
        return serialVersionUID;
    }

    @Override
    public String toString() {
        return "Page [pageSize=" + pageSize + ", currentPage=" + currentPage + ", totalRecord=" + totalRecord
                + ", totalPage=" + totalPage + ", dataList=" + dataList + "]";
    }


}

源码下载

关注下方的微信公众号,回复:java_div_page.code





欢迎加入交流群:451826376


更多信息:www.itcourse.top

完整教程PDF版本下载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值