java内存分页工具类

2023-11-17

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;
    }

    @Data
    public static class PageInfo<T> {
        /**
         * 当前页
         */
        private Integer page;
        /**
         * 每页显示数
         */
        private Integer size;
        /**
         * 总记录数
         */
        private Integer total;
        /**
         * 总页数
         */
        private Integer pages;
        /**
         * 当前页数据集合
         */
        private List<T> data;
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java内存分页工具类 的相关文章

  • 如何将log4j日志文件更改为utf8

    我收到了一个使用 log4j 作为记录器应用程序的代码 如何为其生成 UTF8 日志文件 log4j 创建的日志文件目前为 ASCII 格式 我已经尝试过以下操作 按照以下说明设置日志文件的文件编码 vi current set bomb
  • 如何在itext中设置自定义颜色?

    感谢您花时间回答我的问题 我正在使用 Java 中的 iText 生成 PDF 文档 我需要将表的列标题设置为与值列中的颜色不同的颜色 我有来自 Photoshop 的颜色十六进制值 我正在使用带有块和段落的 PdfPTable 除了 Ba
  • java字符串索引越界异常

    从类中调用函数时出现以下错误 java lang StringIndexOutOfBoundsException 字符串索引超出范围 1 尽管我使用系统打印来查看我在 substring 函数中传递的输入 但一切似乎都是正确的 函数 isC
  • 如何从内容处置中读取编码的文件名

    我得到的内容处置标头值如下 附件 文件名 UTF 8 album jpeg 如何从中提取文件名 album jpeg 在查看该值时 它具有编码格式值 使用Spring的内容配置 https docs spring io spring doc
  • Spring MVC 应用程序可以是多线程的,即使它的 servlet 不是吗?

    当您谈论 Spring 应用程序是多线程时 您是否一定是指该应用程序中定义的 servlet 是否是多线程的 或者即使应用程序中的 servlet 不是多线程 Spring 应用程序也可以配置为多线程吗 不再支持单线程 servlet 它们
  • 如何使用 Java 本机接口将字节数组传递到以 char* 作为参数的 C 函数中?

    所以我需要使用JNI从java调用C函数 当传入不同的数据类型 创建本机变量 头文件 共享库等等 时 我已经能够成功地做到这一点 但无法让它与字节数组一起使用 这是我的 C 函数 include
  • 为什么从 Eclipse 导出的可运行 JAR 不起作用?

    我有一个在 Eclipse 中运行良好的项目 但是 当我将其导出到可运行的 JAR 其中包含依赖项 时 它不会运行 从控制台运行 JAR 时出现的错误是 编辑 之前没有使用 jar 运行它 INFO Loading XML bean def
  • 使用 IntentService 使用 Camera2 拍照

    我正在尝试创建一个可以拍照但不显示预览的应用程序 使用本教程 https www youtube com watch v oPu42I0HSi4 https www youtube com watch v oPu42I0HSi4如果我使用和
  • CXF 客户端异常:{XXX} 的拦截器已引发异常,现在展开

    我遇到以下 CXF 异常 warning Interceptor for http example com wsdl esc 2011 12 12 AmazonEC2 http example com wsdl esc 2011 12 12
  • Android Studio 中没有参考文档

    昨天刚刚出现了一个新问题 当我将鼠标悬停在方法上或按 Ctrl Q 时 我通常会获取该特定方法的文档信息 但现在我只是得到 按 Ctrl QSharedPreferences getLong Following external urls
  • Java 内存错误:无法创建新的本机线程

    运行 java 服务器时 我在 UNIX 服务器上收到此错误 Exception in thread Thread 0 java lang OutOfMemoryError unable to create new native threa
  • 椭圆与椭圆如何相交?

    我用的是JAVA Ellipse2D s1 new Ellipse2D Float 0 0 100 100 System out println s1 intersects 99 30 100 100 应该返回 false 但它返回 tru
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • spring-hibernate 花费更多时间的任何原因?

    目前 我正在春季和冬眠期间从事一个项目 我来到这里 获取记录并在 JSP 中显示这些记录需要更多时间 我在各处都保留了时间戳 以查看哪里花费了更多时间 Time HomeController start 2014 07 09 18 58 5
  • 嵌套异常是java.lang.NoClassDefFoundError:无法初始化类org.springframework.jdbc.support.SQLErrorCodesFactory

    我正在使用 spring 和 jdbctemplate 编写一个应用程序 但是我遇到了以下错误 org springframework web util NestedServletException Handler processing f
  • 使用用户名和密码登录 LinkedIn 失败

    LinkedIn使用oauth登录其api 服务器中无法登录api 我尝试使用http请求登录linkedin并获取oauth verifier 但我得到了这样的回应 很抱歉 出现了问题 你的申请 请确保您 启用cookie并重试 或点击此
  • 找不到满足版本限制的“com.google.code.findbugs:jsr305”版本

    当生成签名的 APK 进行发布时 我收到此错误消息 Cannot find a version of com google code findbugs jsr305 that satisfies the version constraint
  • 找不到 `activityViewModels()` Hilt Android

    我在我的项目中使用 Hilt 和 MVVM 我想要一个viewModel from activityViewModel在 2 个活动中使用相同的内容 但我的 Android Studio 说未解析的参考 我的应用程序 build gradl
  • 尝试 Catch 性能 Java

    当捕获异常而不是进行检查时 try catch 需要多长时间 以纳秒为单位 假设消息具有用于查找的 HashMap 类型性能 try timestamp message getLongField MessageField TIMESTAMP
  • java有类似C#的属性吗? [复制]

    这个问题在这里已经有答案了 C 属性 我的意思是 get 和 set 方法 是一个非常有用的功能 java 也有类似 C 的属性吗 我的意思是我们如何在 java 中实现类似以下 C 代码的内容 public string Name get

随机推荐

  • dubbo 项目既是提供方又是消费方,调用不到服务问题

    1 先查看服务提供者有没有注册 这里通过安装eclipse中的zookeeper插件 进行了查看 服务已经注册上了 2 注册上以后 查看调用者有没有在zookeeper中注册 此时通过查看 并没有 3 没有注册上 然后查看是否是配置哪里出了
  • vue cl3、vuex、vue-router、ant design vue、axios搭建一个简易的单页面应用

    源码码云 https gitee com ChinaCYZ zhengyekeji 在线演示地址 http cheyouzheng top test index html 找工作时 发现一套不错的前端机试题 分享给大家 之前都是使用原生JS
  • 主题模型的概述与Python实现

    主题模型的概述与Python实现 主题模型是一种用于发现文本数据中隐藏主题的统计模型 它可以帮助我们理解大规模文本数据集中的主题结构 并从中提取出关键信息 在本文中 我们将介绍主题模型的基本概念 并使用Python来实现一个简单的主题模型
  • linux应用之mysql8安装

    1 安装前工作 在安装前需要确定现在这个系统有没有 mysql 如果有那么必须卸载 在 centos7 自带的是 mariaDb 数据库 所以第一步是卸载数据库 查看mariadb数据库 rpm qa grep mariadb 卸载mari
  • Linux关闭防火墙命令(永久性关闭)

    抛开实际生产环境 个人平时练习的时候安装虚拟机可能遇到过很多坑就很烦 可能很大一部分原因都是防火墙没关掉哈哈哈哈所以建议永久性关闭防火墙 下面是CentOs7关闭防火墙的命令 1 查看防火状态 systemctl status firewa
  • vue3中的useAttrs和props的区别

    在vue3中 提供了一个 useAttrs 的方法 它接收到的参数一 prop中可以接收到的数据是基本一样的 如果我们想自已写一个组件 把 elementPlus 中的期中一个组件封装一下 可以这样做 1 新建一个 自定义组件 myBtnC
  • 图解 Dijkstra、Floyd、BellMan-Ford 最短路径算法

    文章目录 导言 一 迪杰斯特拉算法 Dijkstra 1 概述 2 算法描述 3 图片解释 4 Dijkstra算法实现 5 Dijkstra Heap算法实现 二 弗洛伊德算法 Floyd Warshall 1 概述 2 算法描述 3 算
  • PowerVM 的主要组成部分及概念

    PowerVM 是在基于 IBM POWER 处理器的硬件平台上提供的具有行业领先水平的虚拟化技术家族 它是 IBM Power System 虚拟化技术全新和统一的品牌 逻辑分区 微分区 Hypervisor 虚拟 I O 服务器 APV
  • 树型结构——二叉数

    之前就说过我们的数据结构分为两种 分别是线性结构和非线性结构 我们今天要学的第一种线性结构就是树型结构 1 树型结构 树型结构并非我们熟悉的重点 所以在这里只做了解 概念 树是一种非线性的数据结构 它是由n n gt 0 个有限结点组成一个
  • 【操作系统】王道考研 p40 两级页表

    两级页表 知识总览 单级页表存在的问题 问题1 页表必须连续存放 因此当页表很大时 需要占用很多个连续的页框 问题2 由程序的局部性原理 进程在一段时间内只需要访问某几个页面就可以正常运行了 因此没必要让整个页表都常驻内存 如何解决单级页表
  • 国内外遥感卫星及遥感传感器

    文章基本信息概要 作者 doll CJ 文章编号 001 C C为综合基础文章 S为分级细化文章 P为应用实践文章 E为补充性文章 内容整理周期 2023年4月24日 2023年5月2日 文章提交日期 2023年5月2日 摘要 Abstra
  • 查看并修改Oracle用户的密码(适用于11g)

    如果你的 数据库版本低于 11g请参考 http www 51testing com index php uid 364865 action viewspace itemid 222982 有时候我们可能不知道一个用户的 密码 但是又需要以
  • 【微调视觉-语言模型】Learning to Prompt for Vision-Language Models

    微调视觉 语言模型 Learning to Prompt for Vision Language Models 代码地址 论文简介 动机和思路 具体实现 Vision Language Pre training Context Optimi
  • vue 分页器组件+css动画效果

    全网都找了一遍没有找到符合UI需求的分页动画 于是就主动上手了 需求 1 分页最多显示9页 总页数最多显示无上限 2 点击下一页的时候需要有动画效果过度 如果当前页数是当前显示最后的一页 则停了当前显示最后的位置 但是点击下一页的时候需要用
  • C++ 和 Qt 6 跨平台开发

    特点 使用 Qt 6 和现代 C 进行跨平台开发 涵盖使用标准 C 17 和 Qt 6 功能跨多个平台编写 GUI 应用程序的基本要素 从 Qt 框架的基础开始 包括 Qt Creator 提供的功能 展示如何使用 Qt Widgets 创
  • C++ 类详解(Plus)

    过程性编程和面向对象编程的区别 之前在那篇博客上看到这个比喻 觉得特别恰当 挺容易让人理解的 现在分享一下 用面向过程的方法写出来的程序是一份蛋炒饭 而用面向对象写出来的程序是一份盖浇饭 所谓盖浇饭 北京叫盖饭 东北叫烩饭 广东叫碟头饭 就
  • opencv 中Mat的一些操作

    https my oschina net drjones blog 312876 http blog sina com cn s blog 66e177dd0102w9dv html 1 创建矩阵 OpenCV Java中矩阵就是一个类 M
  • sql server 分组,取每组的前几行数据

    sql中group by后 获取每组中的前N行数据 目前我知道的有2种方法 比如有个成绩表 里面有字段学生ID 科目 成绩 我现在想取每个科目的头三名 1 子查询 select from score s where StudentName
  • 深入理解设计原则之组件构建原则【软件架构设计】

    系列文章目录 C 高性能优化编程系列 深入理解软件架构设计系列 深入理解设计模式系列 高级C 并发线程编程 困难只能吓倒懦夫懒汉 而胜利永远属于攀登高峰的人 Difficulties can only be intimidated by a
  • java内存分页工具类

    hutool 依赖