利用Java对后端数据进行分页处理(Java假分页)

2023-11-04

代码如下:

import java.util.Collections;
import java.util.List;

/**
 * java分页 辅助器
 */
public class PageHelper<T> {

    /**
     * 每页显示条数
     */
    private final int pageSize;
    /**
     * 原集合
     */
    private final List<T> data;

    private PageHelper(List<T> data, int pageSize) {
        this.data = data;
        this.pageSize = pageSize;
    }

    /**
     * 创建分页器
     *
     * @param data     需要分页的数据
     * @param pageSize 每页显示条数
     * @param <T>      业务对象
     * @return 分页器
     */
    public static <T> PageHelper<T> create(List<T> data, int pageSize) {
        return new PageHelper<>(data, pageSize);
    }

    /**
     * 得到分页后的数据
     *
     * @param pageNum 页码
     * @return 分页后结果
     */
    public List<T> getPagedList(int pageNum) {
        int fromIndex = (pageNum - 1) * pageSize;
        if (fromIndex >= data.size()) {
            return Collections.emptyList();
        }

        int toIndex = pageNum * pageSize;
        if (toIndex >= data.size()) {
            toIndex = data.size();
        }
        return data.subList(fromIndex, toIndex);
    }

    public int getPageSize() {
        return pageSize;
    }

    public List<T> getData() {
        return data;
    }

}

使用示例:

PageHelper<User> pageHelper = PageHelper.create(users, Integer.parseInt(param.getPageSize()));
users = pageHelper.getPagedList(Integer.parseInt(param.getPageNo()));
return users;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用Java对后端数据进行分页处理(Java假分页) 的相关文章

随机推荐

  • 智慧宿舍系统--宿舍维修管理解决方案

    在大学生活中 宿舍维修是一个必不可少的环节 然而 传统的宿舍维修管理方式通常需要大量的人力和物力投入 效率低下 质量难以保证 为了提高宿舍维修工作的效率和质量 减少人力物力的浪费 现在可以利用物联网 人工智能和数字化平台等技术来实现宿舍维修
  • Cocos2d-x中使用第三方so库

    项目中如果使用到第三方的SDK 大多数是以 so动态共享库的文件打包给我们使用 如何使用他们 见下面分析 1 获得库文件 假如我们得到的库文件是libxxx so 注 关于 so文件的命名方式 可百度 在Jni目录下新建prebuilt文件
  • android退出所有Actiivty的实例方法

    import java util ArrayList import java util List import android app Activity import android app Application public class
  • 1个星期,教你快速上手Unity ASE-【预览】

    最近在学习Amplify Shader Editor插件 准备做几期笔记 希望能给csdn友们一些帮助 共同进步 以下是用到的参数截图 更多详情请去B站搜索 Cz wang 感谢博主的讲解 目录预览 1 效果传送 1 属性面板 2 操作面板
  • 恶意软件与APT

    1 什么是恶意软件 把未经授权便干扰或破坏计算机系统 网络功能的程序或代码 一组指令 称之为恶意程序 2 恶意软件有哪些特征 1 强制安装 2 难卸载 3 浏览器劫持 4 广告弹窗 5 恶意收集用户信息 6 恶意卸载其他软件 7 恶意捆绑
  • pytorch torch.nn.Identity() 是干啥的,解释。

    class Identity Module r A placeholder identity operator that is argument insensitive Args args any argument unused kwarg
  • 惊呆了!Spring Boot 还能远程调试?

    目录 前言 什么是远程调试 为什么要远程调试 什么是JPDA 如何开启远程调试 transport server suspend address onthrow onuncaught launch timeout 常用的命令 IDEA如何开
  • 基于门限算法的SM2协同签名算法分析-openssl源码验证

    基于门限算法的SM2协同签名算法分析 openssl源码验证 介绍 1 协同公钥生成流程 2 协同签名流程 3 正确性分析 4 使用openssl接口进行代码测试 5 测试源码 介绍 门限密码体制 是安全多方计算中对抗合谋攻击的一个重要工具
  • Python实现识别图片内容的方法分析

    Python实现识别图片内容的方法分析 本文实例讲述了Python实现识别图片内容的方法 分享给大家供大家参考 具体如下 python识别图片内容 这里我的环境为windows64位 python2 7 14 需要用到PIL模块和tesse
  • springboot事务管理 注解@Transactional 无效原因,及解决办法

    1 不需要在启动类加上 EnableTransactionManagement EnableTransactionManagement是 spring tx 的注解 不是 spring boot 的 spring boot 会自动配置事务
  • 篇八:冒泡排序

    交换排序的一种 author xiaocui date 2022年08月02日 13 49 public class BubbleSort public static void main String args int arr new in
  • React 列表 & Keys

    React 列表 Keys const numbers 1 2 3 4 5 const listItems numbers map number gt li number li ReactDOM render ul listItems ul
  • leecode 题目5 最长回文子串(python)

    给你一个字符串 s 找到 s 中最长的回文子串 示例 1 输入 s babad 输出 bab 解释 aba 同样是符合题意的答案 示例 2 输入 s cbbd 输出 bb 代码是根据B站上的一位up主写的 使用动态规划算法 从小字符串衍生相
  • css3新弹性盒子-flex-grow

    目录 flex grow 1 flex grow定义和用法 2 flex grow属性值 flex grow说明 flex grow实例 flex grow flex grow属性在CSS新弹性盒模型中是比较常用 想要用好它就先了解它的 语
  • 花卉识别卷积神经网络

    卷积神经网络做的花卉识别 keras 五分类 向日葵 雏菊 郁金香 玫瑰 蒲公英 之后更怎么做的
  • 【专题5: 硬件设计】 之 【68.开关电源 之 buck电路中的电感电流波形】

    嵌入式工程师成长之路 系列文章 总目录 系列文章总目录 希望本是无所谓有 无所谓无的 这正如脚下的路 其实地上本没有路 走的人多了 也便成了路 原创不易 文章会持续更新 欢迎微信扫码关注公众号 承接 小程序 嵌入式 PC端项目开发 联系作者
  • Arduino基础入门篇31—LCD1602液晶显示

    LCD1602也叫1602字符型液晶 是一种专门用来显示字母 数字 符号的点阵型液晶模块 能同时显示16X2即32个字符 本篇我们来认识LCD1602 驱动它显示 Hello World 1 LCD1602介绍 对于单片机爱好者和电子爱好者
  • php-cgi.exe - FastCGI 进程超过了配置的请求超时时限

    解决方案一 处理 php cgi exe FastCGI 进程超过了配置的请求超时时限 的问题 内容转载 处理 php cgi exe FastCGI 进程超过了配置的请求超时时限 的问题 php技巧 脚本之家 详细错误 HTTP 错误 5
  • 【华为OD机试真题 JAVA】出错的或电路

    JS版 华为OD机试真题 JS 出错的或电路 标题 出错的或电路 时间限制 1秒 内存限制 262144K 语言限制 不限 某生产门电路的厂商发现某一批次的或门电路不稳定 具体现象为计算两个二进制数的或操作时 第一个二进制数中某两个比特位会
  • 利用Java对后端数据进行分页处理(Java假分页)

    代码如下 import java util Collections import java util List java分页 辅助器 public class PageHelper