List分页工具

  1. 基于List内存分页实现
  2. 若依pagehelper分页问题

基于List内存分页实现

基于Hutool工具包实现

package com.balledu.utils;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.PageUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


public class ListPageUtil {

    public static HashMap<String, Object> page(List<?> records, int page, int size) {
        HashMap<String, Object> map = new HashMap<>();
        int totalPage = PageUtil.totalPage(records.size(), size);
        map.put("current", page); // 当前页
        map.put("size", size); // 每页条数
        map.put("total", records.size()); // 总记录数
        map.put("pages", totalPage); // 总页数
        if (page <= totalPage) {
            map.put("records", size >= records.size() ? records : CollUtil.page(page==0?0:page-1, size, records)); // 数据列表
        } else {
            map.put("records", new ArrayList<>()); // 数据列表
            if (page == -1) {
                map.put("records", records); // 数据列表
            }
        }
        return map;
    }

}

若依pagehelper分页问题


protected TableDataInfo getDataTable(List<?> list,List<?> t) {
    //list 页面显示的分页数据 t用于显示Pages PageNum Total
    PageInfo pageInfo = new PageInfo(t);
    TableDataInfo rspData = new TableDataInfo();
    rspData.setCode(HttpStatus.SUCCESS);
    rspData.setRows(list);
    rspData.setMsg("查询成功");
    rspData.setPages(pageInfo.getPages());
    rspData.setPageNum(pageInfo.getPageNum());
    rspData.setTotal(pageInfo.getTotal());
    return rspData;
}

日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com

×

喜欢就点赞,疼爱就打赏

相册 说点什么