java开发分页查询工具类(java代码层实现)
java开发分页查询工具类(java代码层实现)
JavaWeb-封装工具类- java开发分页查询工具类(java代码层实现)
- 前言
- 业务层调用
- 详细代码(工具类)
前言
java开发中,分页查询工具类,在逻辑层实现分页功能
业务层调用
List详细代码(工具类)list=new ArrayList<>(); PageResult result =PageUtil.page(list,“这里是前端传的当前页”,“这里是前端传的一页显示多少条”)
import java.util.List;
public class PageUtil {
public static PageResult page(List> list, int pageNum, int pageSize) {
//开始数据的下标
int start = (pageNum - 1) * pageSize;
//结束数据的下标
int end = pageSize * pageNum;
if (list.size() <= end) end = list.size();
PageResult result = new PageResult();
result.setPageNum(pageNum);
result.setPageSize(pageSize);
result.setTotal(list.size());
//List.subList 假设start为0,end为7
//其中subList(0, 7)取得的是下标为0到6的元素,不包含下标为7的元素
result.setData(list.subList(start, end));
return result;
}
private static class PageResult {
private static final long serialVersionUID = 1L;
private int pageNum;
private int pageSize;
private int Total;
private List> data;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotal() {
return Total;
}
public void setTotal(int total) {
Total = total;
}
public List> getData() {
return data;
}
public void setData(List> data) {
this.data = data;
}
}
}



