hutool 依赖:
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.7</version></dependency>
代码如下:
import cn.hutool.core.util.PageUtil;
import lombok.Data;
import org.springframework.util.CollectionUtils;import java.util.List;/*** 分页工具类** @author ml* @Classname PageUtils* @date 2023/8/10 16:14*/
public class PageUtils {/*** 分页** @param list 分页list* @param page 当前页* @param size 每页条数* @return*/public static PageInfo startPage(List<?> list, Integer page, Integer size) {PageInfo pageInfo = new PageInfo();if (CollectionUtils.isEmpty(list)) {pageInfo.setPage(page);pageInfo.setPages(0);pageInfo.setSize(size);pageInfo.setTotal(0);pageInfo.setData(list);return pageInfo;}//总页数int pages = PageUtil.totalPage(list.size(), size);int[] startEndIndex = PageUtil.transToStartEnd(page - 1, size);List<?> pageList = null;if (startEndIndex[1] < list.size()) {pageList = list.subList(startEndIndex[0], startEndIndex[1]);} else {pageList = list.subList(startEndIndex[0], list.size());}pageInfo.setPage(page);pageInfo.setPages(pages);pageInfo.setSize(size);pageInfo.setTotal(list.size());pageInfo.setData(pageList);return pageInfo;}@Datapublic static class PageInfo<T> {/*** 当前页*/private Integer page;/*** 每页显示数*/private Integer size;/*** 总记录数*/private Integer total;/*** 总页数*/private Integer pages;/*** 当前页数据集合*/private List<T> data;}}