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; } } }