其他分享
首页 > 其他分享> > 页面分页显示之PageBean类

页面分页显示之PageBean类

作者:互联网

要将所有显示在页面上的部分抽象成一个对象,这个对象封装了分页中所有的数据

PageBean分成以下三类属性

1. 由数据库查询:data,count
2. 由用户提交:current,size
3. 其它四个属性通过计算得到

代码

package com.it.entity;

import java.util.List;

/**
 * 分页对象
 */
public class PageBean<T> {

    /*
    一共是8个属性,分成三大类:
    1. 从数据库中查询出来的属性:data, count
    2. 由用户从浏览器提交过来:current, size
    3. 由其它的属性计算出来的:first, previous,next,total,写在get方法中
     */

    private List<T> data;  //封装1页的数据
    private int count;   //总记录数

    private int current;  //当前第几页
    private int size;  //每页的大小

    private int first; //第一页
    private int previous; //上一页
    private int next; //下一页
    private int total; //总页数/最后一页

    //构造方法传入四个属性
    public PageBean(List<T> data, int count, int current, int size) {
        this.data = data;
        this.count = count;
        this.current = current;
        this.size = size;
    }

    public PageBean() {
    }

    public List<T> getData() {
        return data;
    }

    public void setData(List<T> data) {
        this.data = data;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public int getCurrent() {
        return current;
    }

    public void setCurrent(int current) {
        this.current = current;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    /**
     * 获取第1页
     * @return
     */
    public int getFirst() {
        return 1;
    }

    public void setFirst(int first) {
        this.first = first;
    }

    /**
     * 获取上一页
     * 如果当前页大于1,上一页就等于当前页减一
     * 否则返回第1页
     */
    public int getPrevious() {
        if (getCurrent() > 1) {
            return getCurrent() - 1;
        } else {
            return 1;
        }
    }

    public void setPrevious(int previous) {
        this.previous = previous;
    }

    /**
     * 计算下一页
     * 如果当前页小于最后一页,下一页就等于当前页加一
     * 否则返回最后一页
     */
    public int getNext() {
        if (getCurrent() < getTotal()) {
            return getCurrent() + 1;
        } else {
            return getTotal();
        }
    }

    public void setNext(int next) {
        this.next = next;
    }

    /**
     * 计算总页数
     * 如果总记录数能够整除页大小,就正好是这么多页
     * 如果不能整除,页数就加一
     */
    public int getTotal() {
        if (getCount() % getSize() == 0) {
            return getCount() / getSize();
        } else {
            return getCount() / getSize() + 1;
        }
    }

    public void setTotal(int total) {
        this.total = total;
    }


    //注:输出的是get方法的值,才是准确的
    @Override
    public String toString() {
        return "PageBean{" +
                "data=" + getData() +
                ", count=" + getCount() +
                ", current=" + getCurrent() +
                ", size=" + getSize() +
                ", first=" + getFirst() +
                ", previous=" + getPrevious() +
                ", next=" + getNext() +
                ", total=" + getTotal() +
                '}';
    }
}

 

标签:count,return,分页,int,current,PageBean,size,public,页面
来源: https://blog.csdn.net/qq_36116242/article/details/113831307