分页实体类封装

请求实体

/*** @author suran* @description 分页实体* @create 2023/11/29 9:31*/
public class PageQuery implements Serializable {private Integer pageNum = 1;private Integer page = 1;private Integer pageSize = 20;public PageQuery() {}public static PageQuery of(int pageNum, int pageSize) {return (new PageQuery()).setPageNum(pageNum).setPage(pageNum).setPageSize(pageSize);}public PageQuery setPageNum(Integer pageNum) {this.pageNum = pageNum;this.page = pageNum;return this;}public PageQuery setPage(Integer page) {this.page = page;this.pageNum = page;return this;}public Integer getPageNum() {return this.pageNum;}public Integer getPage() {return this.page;}public void validate() {this.pageNum = this.pageNum == null ? 1 : this.pageNum;this.page = this.page == null ? 1 : this.page;this.pageSize = this.pageSize == null ? 0 : this.pageSize;this.pageNum = Math.max(this.pageNum, 1);this.page = Math.max(this.page, 1);int finalPage = Math.max(this.pageNum, this.page);this.pageNum = finalPage;this.page = finalPage;this.pageSize = this.pageSize < 1 ? 20 : this.pageSize;}public Integer getOffset() {return (this.pageNum - 1) * this.pageSize;}public String toString() {return "PageQuery{pageNum=" + this.pageNum + ", pageSize=" + this.pageSize + '}';}public Integer getPageSize() {return this.pageSize;}public PageQuery setPageSize(Integer pageSize) {this.pageSize = pageSize;return this;}
}使用时,让原有类继承即可
/*** @author suran* @description 分页实体* @create 2023/11/29 9:31*/public class A extends PageQuery {}

返回实体

/*** @author suran* @description 分页实体* @create 2023/11/29 9:31*/
public class PageVo<T> implements Serializable {private int pageNum;private int page;private int pageSize;private int total;private int totalCount;private int totalPage;private int totalPageCount;private List<T> list;public PageVo() {}public static <T> PageVo<T> of(PageQuery pageQuery) {PageVo<T> emptyPage = new PageVo();emptyPage.setPageNum(pageQuery.getPageNum());emptyPage.setPage(pageQuery.getPageNum());emptyPage.setPageSize(pageQuery.getPageSize());emptyPage.setList(Collections.emptyList());return emptyPage;}public static <T> PageVo<T> of(PageQuery pageQuery, int total, List<T> list) {PageVo<T> vo = new PageVo();vo.setTotal(total);vo.setTotalCount(total);vo.setPageNum(pageQuery.getPageNum());vo.setPage(pageQuery.getPageNum());int pageSize = pageQuery.getPageSize();vo.setPageSize(pageSize);vo.setTotalPage((int)Math.ceil((double)total / (double)pageSize));vo.setTotalPageCount(vo.getTotalPage());vo.setList(list == null ? Collections.emptyList() : list);return vo;}public static <T> PageVo<T> of(PageTo<T> pageTo) {PageVo<T> vo = new PageVo();return vo.setTotal(pageTo.getTotal()).setTotalCount(pageTo.getTotal()).setPageNum(pageTo.getPageNum()).setPage(pageTo.getPageNum()).setPageSize(pageTo.getPageSize()).setTotalPage(pageTo.getTotalPage()).setTotalPageCount(pageTo.getTotalPage()).setList(pageTo.getList() == null ? Collections.emptyList() : pageTo.getList());}public static <T, R> PageVo<T> of(PageTo<R> pageTo, Function<R, T> mapFun) {PageVo<T> vo = new PageVo();return vo.setTotal(pageTo.getTotal()).setTotalCount(pageTo.getTotal()).setPageNum(pageTo.getPageNum()).setPage(pageTo.getPageNum()).setPageSize(pageTo.getPageSize()).setTotalPage(pageTo.getTotalPage()).setTotalPageCount(pageTo.getTotalPage()).setList(pageTo.getList() == null ? Collections.emptyList() : Funs.map(pageTo.getList(), mapFun));}public int getPageNum() {return this.pageNum;}public int getPage() {return this.page;}public int getPageSize() {return this.pageSize;}public int getTotal() {return this.total;}public int getTotalCount() {return this.totalCount;}public int getTotalPage() {return this.totalPage;}public int getTotalPageCount() {return this.totalPageCount;}public List<T> getList() {return this.list;}public PageVo<T> setPageNum(int pageNum) {this.pageNum = pageNum;return this;}public PageVo<T> setPage(int page) {this.page = page;return this;}public PageVo<T> setPageSize(int pageSize) {this.pageSize = pageSize;return this;}public PageVo<T> setTotal(int total) {this.total = total;return this;}public PageVo<T> setTotalCount(int totalCount) {this.totalCount = totalCount;return this;}public PageVo<T> setTotalPage(int totalPage) {this.totalPage = totalPage;return this;}public PageVo<T> setTotalPageCount(int totalPageCount) {this.totalPageCount = totalPageCount;return this;}public PageVo<T> setList(List<T> list) {this.list = list;return this;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/181262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP地址的最后一位不可以为0或255

说明 通常情况下&#xff0c;IP 地址的最后一位不能为 0 或 255。这是因为这些特定的 IP 地址有特殊用途。 IP 地址的最后一位为 0 通常用作网络地址&#xff0c;表示整个网络的起始地址。IP 地址的最后一位为 255 通常用作广播地址&#xff0c;用于将数据包发送到同一网络中…

Pod控制器简介,ReplicaSet、Deployment、HPA三种处理无状态pod应用的控制器介绍

目录 一.Pod控制器简介 二.ReplicaSet&#xff08;简写rs&#xff09; 1.简介 &#xff08;1&#xff09;主要功能 &#xff08;2&#xff09;rs较完整参数解释 2.创建和删除 &#xff08;1&#xff09;创建 &#xff08;2&#xff09;删除 3.扩容和缩容 &#xff08…

0基础学习VR全景平台篇第124篇:VR视频地拍补地 - PR软件教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 嗨&#xff0c;大家好&#xff0c;今天我们来介绍【地拍VR视频补地】。 之前已经教给了大家如何处理航拍图片的补天和航天视频的补天&#xff0c;肯定有很多小伙伴也在好奇&…

三大录屏软件推荐,让你轻松录制屏幕

录屏软件的应用变得越来越广泛&#xff0c;无论是记录屏幕上的内容以方便日后查阅&#xff0c;还是与他人分享操作过程&#xff0c;录屏软件都发挥着重要作用。然而&#xff0c;市面上的录屏软件种类繁多&#xff0c;质量参差不齐。那有没有好用的录屏软件推荐呢&#xff1f;在…

吃火锅(Python)

题目描述 吃火锅 以上图片来自微信朋友圈&#xff1a;这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”&#xff0c;那就厉害了&#xff0c;我们的故事就开始了。 本题要求你实现一个程序&#xff0c;自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。…

第二证券:机构密集调研消费电子、半导体产业链

据上海证券报记者核算&#xff0c;近一个月来&#xff0c;共有41家消费电子类公司和92家半导体公司&#xff08;核算标准&#xff1a;申万职业2021&#xff0c;下同&#xff09;发布出资者调研纪要。其间&#xff0c;有的公司款待了16个批次估计超200家安排&#xff0c;更有公司…

【九】linux下部署frp客户端服务端实践(内网穿透)

linux下部署frp客户端服务端实践 简介&#xff1a; 今天有一个这样的需求&#xff0c;部署在公司内部局域网虚拟机上的服务需要在外网能够访问到&#xff0c;这不就是内网穿透的需求吗&#xff0c;之前通过路由器实现过&#xff0c;现在公司这块路由器不具备这个功能了&#x…

Vue3的reactive、ref、toRef、toRefs用法以及区别

在 Vue3 中&#xff0c;reactive, ref, toRef, toRefs 都是用于创建响应式数据的方法。它们之间的主要区别在于它们的使用方式和返回值类型。 reactive&#xff1a;用于将一个普通对象转换为响应式对象。当对象的属性发生变化时&#xff0c;视图会自动更新。 import { reacti…

代洋集团:打造太阳能光伏电站的新标杆

随着全球对可再生能源的关注度不断提高&#xff0c;代洋集团以其卓越的技术和高效的运营&#xff0c;引领太阳能光伏电站的发展。通过持续的创新和研发&#xff0c;代洋集团成功构建了具有行业领先水平的太阳能光伏电站&#xff0c;为全球绿色能源产业贡献力量。 代洋集团的太…

python循环调用http示例(一定时间duration内,每隔时间interval去调用一次)call_http()

文章目录 直接上代码 直接上代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests encoding utf-8def call_http_duration(server_ip, duration, interval):"""在时间 duration 内&#xff0c;每隔interval去调用 call_http(server_ip) 函数…

linux获得帮助_如何查看命令的用法、作用

Linux获得帮助 多层次的帮助&#xff1a; whatis command --help man and info /usr/share/doc/ Red Hat documentation 、Ubuntu documentation 软件项目网站 其它网站 搜索 whatis 使用数据库来显示命令的简短描述。 [rootlocalhost ~]# whatis rm rm (1) …

详解Object.defineProperty()方法

Object.defineProperty是一个用于定义或修改对象属性的方法。它提供了一种更底层和灵活的方式来定义属性&#xff0c;可以设置属性的配置&#xff08;如可枚举性、可配置性、可写性等&#xff09;&#xff0c;并且可以定义属性的getter和setter函数。 语法&#xff1a; Objec…

【华为OD题库-042】战场索敌-java

题目 有一个大小是N * M的战场地图&#xff0c;被墙壁’#‘分隔成大小不同的区域&#xff0c;上下左右四个方向相邻的空地∵&#xff0c;属于同一个区域&#xff0c;只有空地上可能存在敌人’E’&#xff0c;请求出地图上总共有多少区域里的敌人数小于K。 输入描述 第一行输入为…

WT588FM01高性能录音语音芯片模块IC:远距离录音,卓越音质,多功能一体

在音频技术不断进步的今天&#xff0c;一款高性能的录音模块对于很多产品来说都是不可或缺的。唯创知音的WT588FM01就是这样一款令人瞩目的高性能录音语音芯片模块。它拥有远距离录音能力&#xff0c;出色的音质&#xff0c;以及直接推动8ohm/0.5W喇叭输出的功能&#xff0c;为…

【传送点】上千漏洞复现复现集合 exp poc 持续更新

一 简介 二 传送 【漏洞复现】OpenTSDB 2.4.0 命令注入(CVE-2020-35476)漏洞复现 【漏洞复现】熊海cms 存在sql注入 附poc 【漏洞复现】Array VPN任意文件读取漏洞 【漏洞复现】好视通视频会议系统(fastmeeting) toDownload.do接口存在任意文件读取漏洞 附POC 【漏洞复现】金…

Lesson 08 string类 (上)

C&#xff1a;渴望力量吗&#xff0c;少年&#xff1f; 文章目录 一、STL1. 概念2. STL的六大组件3. STL的重要性 二、string类的介绍与使用1. 介绍2. 使用&#xff08;1&#xff09;string类对象的常见构造&#xff08;2&#xff09;string类对象的容量操作&#xff08;3&…

数字人透明屏幕是如何工作的?

数字人透明屏幕是一种令人兴奋的科技产品&#xff0c;它结合了人脸识别、全息影像技术以及透明屏幕&#xff0c;为人们带来了全新的互动体验。本文将详细介绍数字人透明屏幕的工作原理以及其应用场景。 工作原理 数字人透明屏幕的工作原理主要包括人脸识别和全息影像技术。人脸…

数学建模-基于LightGBM和BP神经网络的互联网招聘需求分析与预测

基于LightGBM和BP神经网络的互联网招聘需求分析与预测 整体求解过程概述(摘要) 就业是民生之本&#xff0c;是发展之基&#xff0c;也是安国之策。2020 年新冠肺炎疫情的爆发&#xff0c;稳就业成为应对疫情、稳定社会的重要保障之一。随着数据新动能的发展&#xff0c;互联网…

Python与设计模式--责任链模式

23种计模式之 前言 &#xff08;5&#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、&#xff08;11&#xff09;策略模式、责任链模式、命令模式、中介者模…

LeetCode52. N-Queens II

文章目录 一、题目二、题解 一、题目 The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. Given an integer n, return the number of distinct solutions to the n-queens puzzle. Example 1: I…