概述
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
网友评论