hutool 依赖:文章来源:https://www.toymoban.com/news/detail-718168.html
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.7</version>
</dependency>
代码如下:文章来源地址https://www.toymoban.com/news/detail-718168.html
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;
}
@Data
public static class PageInfo<T> {
/**
* 当前页
*/
private Integer page;
/**
* 每页显示数
*/
private Integer size;
/**
* 总记录数
*/
private Integer total;
/**
* 总页数
*/
private Integer pages;
/**
* 当前页数据集合
*/
private List<T> data;
}
}
到了这里,关于java内存分页工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!