页面分页显示之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