Java中对 List 数据进行分页返回给前端(仅限数据量不多的情况下使用)

package cn.drhui.diaowen.util;

import java.util.List;

/**
 * @ClassName: PageUtil
 * @Description:
 * @Author: 我是真的很不错
 * @Date: 2021/1/14 11:33
 */
public class PageUtil {


        /**
         * 开始分页
         *
//         * @param list
//         * @param pageNum  页码
//         * @param pageSize 每页多少条数据
         * @return
         */
        public static PageInfo startPage(List list, Integer pageNum, Integer pageSize) {
//        public static PageInfo startPage(PageInfo pageInfo) {
            if(list == null){
                return null;
            }
            if(list.size() == 0){
                return null;
            }

            Integer count = list.size(); //记录总数
            Integer pageCount = 0; //页数
            if (count % pageSize == 0) {
                pageCount = count / pageSize;
            } else {
                pageCount = count / pageSize + 1;
            }

            int fromIndex = 0; //开始索引
            int toIndex = 0; //结束索引

            if(pageNum > pageCount){
                pageNum = pageCount;
            }
            if (!pageNum.equals(pageCount)) {
                fromIndex = (pageNum - 1) * pageSize;
                toIndex = fromIndex + pageSize;
            } else {
                fromIndex = (pageNum - 1) * pageSize;
                toIndex = count;
            }

            List pageList = list.subList(fromIndex, toIndex);
            PageInfo resultPageInfo = new PageInfo();
            resultPageInfo.setList(pageList);
            resultPageInfo.setCount(count);
            resultPageInfo.setPages(pageCount);
            resultPageInfo.setPageNum(pageNum);
            resultPageInfo.setPageSize(pageSize);
            return resultPageInfo;
        }



}

返回实体类

package cn.drhui.diaowen.util;

import lombok.Data;

import java.util.List;

/**
 * @ClassName: PageInfo
 * @Description:
 * @Author: 我是真的很不错
 * @Date: 2021/1/14 11:49
 */
@Data
public class PageInfo{
    private Integer pageNum;
    private Integer pageSize;
    private List list;
    private int count;
    private int pages;
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值