当前位置: 首页 > news >正文

在Java中如何使用List集合实现分页,以及模糊查询后分页

物理分页工具类

package com.yutu.garden.utils;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;/*** @ClassName: PageUtils* @Description: 物理分页* @Author* @Date 2022/12/28* @Version 1.0*/
public class PageUtils {/*** 物理分页* @param list 数据* @param current 当前页* @param size 页码长度* @param <T>* @return*/public static <T> List<T> startPage(List<T> list, Integer current, Integer size) {if (CollectionUtils.isEmpty(list)) {return list;}return list.stream().skip((current - 1) * size).limit(size).collect(Collectors.toList());}
}

接收参数VO类

package com.yutu.garden.vo;import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;/*** @ClassName: SanitationJobStatisticsStaffParamVo* @Description: 人员列表请求参数* @Author* @Date 2023/8/8* @Version 1.0*/
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class SanitationJobStatisticsStaffParamVo {@ApiModelProperty("姓名")private String name;@ApiModelProperty("当前页")private Long current;@ApiModelProperty("每页的数量")private Long size;
}

核心代码

  • sanitationJobStatisticsStaffVoArrayList:是数据库中查出来的数据
  • sanitationJobStatisticsStaffParamVo:是接收参数VO类
//物理分页
List<SanitationJobStatisticsStaffVo> sanitationJobStatisticsStaffVosPage = PageUtils.startPage(sanitationJobStatisticsStaffVoArrayList, Integer.parseInt(sanitationJobStatisticsStaffParamVo.getCurrent().toString()), Integer.parseInt(sanitationJobStatisticsStaffParamVo.getSize().toString()));
map.put("tableData",sanitationJobStatisticsStaffVosPage);
//如果有模糊查询 则按模糊查询去分页
if (StringUtils.isNotEmpty(sanitationJobStatisticsStaffParamVo.getName())){//过滤 模糊查询List<SanitationJobStatisticsStaffVo> collectLikeSelect = sanitationJobStatisticsStaffVoArrayList.stream().filter(sanitationJobStatisticsStaffVo -> sanitationJobStatisticsStaffVo.getName().toLowerCase().contains(sanitationJobStatisticsStaffParamVo.getName().toLowerCase())).collect(Collectors.toList());//模糊查询后得到一个List集合,再将这个集合进行分页List<SanitationJobStatisticsStaffVo> sanitationJobStatisticsStaffVosLikePage = PageUtils.startPage(collectLikeSelect, Integer.parseInt(sanitationJobStatisticsStaffParamVo.getCurrent().toString()), Integer.parseInt(sanitationJobStatisticsStaffParamVo.getSize().toString()));map.put("tableData",sanitationJobStatisticsStaffVosLikePage);
}

相关文章:

在Java中如何使用List集合实现分页,以及模糊查询后分页

物理分页工具类 package com.yutu.garden.utils;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;/*** ClassName: PageUtils* Description: 物理分页* Author* Date …...

【JAVA】包装类、正则表达式、Arrays类、Lambda表达式

1 包装类 包装类是8种基本数据类型对应的引用类型 作用&#xff1a;后期的集合和泛型不支持基本类型&#xff0c;只能使用包装类 基本数据类型和其对应的引用数据类型的变量可以互相赋值 基本数据类型引用数据类型 byte Byte short Short int Integer long Long ch…...

Java中的Maven Assembly插件是什么?

Maven Assembly插件是Maven中的一个插件&#xff0c;用于创建自定义的构建过程。它允许你在构建过程中执行一些自定义的操作&#xff0c;例如打包、编译、复制文件等。对于新手来说&#xff0c;Maven Assembly插件可能有点复杂&#xff0c;但是我们可以使用一些幽默的方式来解释…...

SpringBoot禁用Swagger3

Swagger3默认是启用的&#xff0c;即引入包就启用。 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> <dependency><groupId…...

小红书Java后端2023-8-6笔试

小红书推荐系统 时间限制&#xff1a;3000MS&#xff1b;内存限制&#xff1a;589824KB 题目描述 小红书有一个推荐系统&#xff0c;可以根据用户搜索的关键词推荐用户希望获取的内容。现在给定小孩的搜索记录&#xff08;记录是分词后的结果&#xff09;&#xff0c;我们认…...

metaRTC7 demo mac/ios编译指南

概要 metaRTC7.0开始全面支持mac/ios操作系统&#xff0c;新版本7.0.023 mac os demo 包含有srs/zlm的推拉流演示。发布版自带了x64版第三方类库&#xff0c;arm版第三方类库还需开发者自己编译。 源码下载 下载文件metartc7.023.7z https://github.com/metartc/metaRTC/re…...

systemd-journal 占用内存的问题

最近发现部分 Debian 机器的 systemd-journal 占用了非常多内存。这和 Debian 对其的 错误配置有关系&#xff08;查了一下其他发行版&#xff0c;有和 Debian 一样的配置的也有和 Debian 不一样 的配置的&#xff0c;说明这个配置有争议&#xff09;。 systemd-journal 简介 …...

Java # Spring(2)

一、Spring事物 一、分类 编程式事物&#xff1a;代码中硬编码&#xff08;不推荐使用&#xff09; 声明式事物&#xff1a;配置文件中配置&#xff08;推荐使用&#xff09; 分类&#xff1a; 基于xml的声明式事物基于注解的声明式事物 二、隔离级别 ISOLATION_DEFAULT&…...

2021年03月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;石头剪刀布 石头剪刀布是常见的猜拳游戏。石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。 一天&#xff0c;小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的&#xff0c;比如&#xff1a;“…...

应用程序运行报错:First section must be [net] or [network]:No such file or directory

应用程序报错环境&#xff1a; 在linux下&#xff0c;调用darknet训练的模型&#xff0c;报错&#xff1a;First section must be [net] or [network]:No such file or directory&#xff0c;并提示&#xff1a;"./src/utils.c:256: error: Assertion 0 failed." 如…...

【ECMAScript】ES6-ES11学习笔记

文章目录 注意事项1.声明变量2.定义常量3.解构赋值4.模板字符串5.简化对象写法6.箭头函数7.参数默认值8.rest参数9.扩展运算符10.Symbol11.生成器函数12.Promise基本语法13.集合set14.Map15.类class16.数值扩展17.对象私有属性18.对象方法扩展19.js文件模块化20.async和await21…...

K8S MetalLB LoadBalancer

1. 简介 kubernetes集群没有L4负载均衡&#xff0c;对外暴漏服务时&#xff0c;只能使用nodePort的方式&#xff0c;比较麻烦&#xff0c;必须要记住不同的端口号。 LoadBalancer&#xff1a;使用云提供商的负载均衡器向外部暴露服务&#xff0c;外部负载均衡器可以将流量路由…...

kubernetes二进制部署2之 CNI 网络组件部署

CNI 网络组件部署 一&#xff1a;K8S提供三大接口1容器运行时接口CRI2云原生网络接口CNI3云原生存储接口CSI 部署 flannelK8S 中 Pod 网络通信&#xff1a;Overlay Network&#xff1a;VXLAN&#xff1a;Flannel:Flannel udp 模式的工作原理&#xff1a;ETCD 之 Flannel 提供说…...

docker通用镜像方法,程序更新时不用重新构建镜像

docker通用镜像方法&#xff0c;程序更新时不用重新构建镜像。更新可执行文件后&#xff0c;重新启动容器就可运行。 功能 1、在demo目录下添加脚本文件start.sh&#xff0c;里面执行demo.jar文件。 2、将demo目录映射到镜像下的 /workspace目录。 3、Dockerfile文件中默认…...

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置&#xff0c;用于在电路上保护线路过载&#xff0c;当线路中有电器发生短路时&#xff0c;“断路器”能够及时的切断故障电路&#xff0c;防止发生过载、发热、甚至起火等严重后果…...

[国产MCU]-BL602开发实例-OLED-SSD1306驱动与U8g2移植

OLED-SSD1306驱动与U8g2移植 文章目录 OLED-SSD1306驱动与U8g2移植1、OLED介绍2、SSD1306介绍2、U8g2介绍3、U8g2移植3.1 定义U8g2图形库的移植函数3.2 移植函数实现3.3 移植函数调用4、驱动测试本文将详细介绍如何在BL602中移植U8g2图形库,并通过U8g2库驱动OLED SSD1306显示屏…...

AWS asg(Auto Scaling Group)部署时报错Error: Termination Reason: Client.InternalError

背景 最近用一个terraform asg模块部署asg时一直报错 Error: Termination Reason: Client.InternalError: Client error on launch 搜索资料发现和KMS下面的asg 对应的policy有关系. 解决方法 在AWS界面找到KMS, 然后找到customer managed key导航栏, 最后找到对应AMI加密用…...

Redis—过期删除策略和内存淘汰策略

目录标题 过期删除策略如何设置过期时间查看key过期时间取消key过期时间如果判定key已过期过期删除策略定时删除惰性删除定期删除 Redis过期删除策略Redis如何实现定期删除第一种版本第二种版本 内存淘汰策略如何设置Redis最大运行内存第一种版本第二种版本 Redis内存淘汰策略不…...

连续两年增收不增利,比亚迪电子靠新能源汽车业务再次起飞?

在净利润连续两年下挫之后&#xff0c;比亚迪电子&#xff08;00285.HK&#xff09;终于迎来了好消息。 不久前比亚迪电子发布2023年中期盈利预告显示&#xff0c;上半年净利润同比增加115%-146%&#xff08;2022年上半年的净利润显示6.34亿元&#xff09;。 这主要受益于大客…...

echarts3d柱状图

//画立方体三个面 const CubeLeft echarts.graphic.extendShape({shape: {x: 0,y: 0,width: 9.5, //柱状图宽zWidth: 4, //阴影折角宽zHeight: 3, //阴影折角高},buildPath: function (ctx, shape) {const api shape.api;const xAxisPoint api.coord([shape.xValue, 0]);con…...

AIGlasses_for_navigation 与操作系统原理结合:实现高并发推理服务

AIGlasses_for_navigation 与操作系统原理结合&#xff1a;实现高并发推理服务 最近在折腾一个基于AIGlasses_for_navigation的实时导航服务&#xff0c;想法挺酷&#xff0c;但一上线就遇到了大麻烦。想象一下&#xff0c;成千上万的用户同时请求路线规划&#xff0c;你的服务…...

OpenClaw配置备份技巧:Kimi-VL-A3B-Thinking模型参数迁移无忧方案

OpenClaw配置备份技巧&#xff1a;Kimi-VL-A3B-Thinking模型参数迁移无忧方案 1. 为什么需要OpenClaw配置备份 上周我在升级主力开发机时&#xff0c;差点因为硬盘故障丢失了精心调校的OpenClaw配置。这个教训让我意识到&#xff0c;对于依赖本地AI助手的开发者来说&#xff…...

Linux内核中的网络协议栈详解

Linux内核中的网络协议栈详解 引言 网络协议栈是Linux内核中负责处理网络通信的核心组件&#xff0c;它实现了从物理层到应用层的完整网络协议&#xff0c;为应用程序提供了可靠的网络通信服务。Linux内核的网络协议栈支持多种协议&#xff0c;包括TCP/IP、UDP、ICMP等&#xf…...

uniSDK5.06 HBuilder-Integrate-AS 引入 AeroFFmpeg

用Android Studio 导入 unisdk5.06\Android-SDK5.06.82597_20260401\HBuilder-Integrate-AS 工程需要下载 jdk17 安卓SDK通过网盘分享的文件&#xff1a;unisdk5.06.rar 链接: https://pan.baidu.com/s/1cYeW29xsoqIa6lh4wk16FQ?pwdp8ak 提取码: p8ak...

android java多线程传递数据方式-----使用volatile

public static volatile String is_on"yes"...

和AI一起搞事情#:边剥龙虾边做个中医技能来起号冠

1. 核心概念 在 Antigravity 中&#xff0c;技能系统分为两层&#xff1a; Skills (全局库)&#xff1a;实际的代码、脚本和指南&#xff0c;存储在系统级目录&#xff08;如 ~/.gemini/antigravity/skills&#xff09;。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

电脑风扇噪音如何解决?智能温控系统全攻略

电脑风扇噪音如何解决&#xff1f;智能温控系统全攻略 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl…...

Java 线程、进程、CPU缓存、MESI

一、进程&线程 1、什么是进程&#xff08;process&#xff09; 进程是操作系统中运行的一个任务&#xff08;一个应用程序运行在一个进程中&#xff09;。 进程是一块包含了某些资源的内存区域&#xff0c;操作系统利用进程把它的工作划分为一些功能单元。 进程中包含的…...

智能工具一键生成目录并优化内容,学术写作更高效,时间管理更轻松。

工具对比速览 工具名称 核心功能 处理速度 适用场景 特色优势 aibiye AI降重目录生成 20分钟 学术论文 知网/维普/格子达适配 aicheck AI检测目录优化 实时 初稿检查 多平台规则预判 askpaper 学术规范处理 15-30分钟 期刊投稿 保留专业术语 秒篇 一键式处…...

SAP MM | 物料主数据:为什么修改了“特殊采购类型”但在 MM04 查不到修改历史?

在 SAP 物料主数据&#xff08;Material Master&#xff09;的操作中&#xff0c;用户有时会修改 “特殊采购类型”&#xff08;SOBSL&#xff09;&#xff0c;比如从“厂内生产”改为“从其他工厂调拨&#xff08;40&#xff09;”。但用户说&#xff0c;修改了主数据之后&…...