135 lines
2.8 KiB
Java
135 lines
2.8 KiB
Java
/**
|
|
* Copyright (c) 2020 fumeiai All rights reserved.
|
|
* <p>
|
|
* <p>
|
|
* <p>
|
|
* 版权所有,侵权必究!
|
|
*/
|
|
|
|
package com.lz.common.utils;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 分页工具类
|
|
*
|
|
* @author Mark sunlightcs@gmail.com
|
|
*/
|
|
public class PageUtils<E> implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
|
* 总记录数
|
|
*/
|
|
private int totalCount;
|
|
/**
|
|
* 每页记录数
|
|
*/
|
|
private int pageSize;
|
|
/**
|
|
* 总页数
|
|
*/
|
|
private int totalPage;
|
|
/**
|
|
* 当前页数
|
|
*/
|
|
private int currPage;
|
|
/**
|
|
* 列表数据
|
|
*/
|
|
private List<?> list;
|
|
|
|
/**
|
|
* 分页
|
|
* @param list 列表数据
|
|
* @param totalCount 总记录数
|
|
* @param pageSize 每页记录数
|
|
* @param currPage 当前页数
|
|
*/
|
|
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
|
|
this.list = list;
|
|
this.totalCount = totalCount;
|
|
this.pageSize = pageSize;
|
|
this.currPage = currPage;
|
|
this.totalPage = (int) Math.ceil((double) totalCount / pageSize);
|
|
}
|
|
|
|
|
|
public <E> PageUtils<E> doSelect(ISelect select) {
|
|
IPage page = new Page(this.currPage, this.pageSize);
|
|
list = select.doSelect(page);
|
|
page.setRecords(list);
|
|
return new PageUtils<E>(page);
|
|
}
|
|
|
|
/**
|
|
* 开始分页
|
|
*
|
|
* @param pageNum 页码
|
|
* @param pageSize 每页显示数量
|
|
* @param count 是否进行count查询
|
|
*/
|
|
public static <E> PageUtils<E> startPage(int pageNum, int pageSize) {
|
|
IPage<E> page = new Page<E>(pageNum, pageSize);
|
|
return new PageUtils<E>(page);
|
|
}
|
|
|
|
|
|
/**
|
|
* 分页
|
|
*/
|
|
public PageUtils(IPage<?> page) {
|
|
this.list = page.getRecords();
|
|
this.totalCount = (int) page.getTotal();
|
|
this.pageSize = (int) page.getSize();
|
|
this.currPage = (int) page.getCurrent();
|
|
this.totalPage = (int) page.getPages();
|
|
}
|
|
|
|
|
|
|
|
public int getTotalCount() {
|
|
return totalCount;
|
|
}
|
|
|
|
public void setTotalCount(int totalCount) {
|
|
this.totalCount = totalCount;
|
|
}
|
|
|
|
public int getPageSize() {
|
|
return pageSize;
|
|
}
|
|
|
|
public void setPageSize(int pageSize) {
|
|
this.pageSize = pageSize;
|
|
}
|
|
|
|
public int getTotalPage() {
|
|
return totalPage;
|
|
}
|
|
|
|
public void setTotalPage(int totalPage) {
|
|
this.totalPage = totalPage;
|
|
}
|
|
|
|
public int getCurrPage() {
|
|
return currPage;
|
|
}
|
|
|
|
public void setCurrPage(int currPage) {
|
|
this.currPage = currPage;
|
|
}
|
|
|
|
public List<?> getList() {
|
|
return list;
|
|
}
|
|
|
|
public void setList(List<?> list) {
|
|
this.list = list;
|
|
}
|
|
|
|
}
|