java原生的分页工具
@NoArgsConstructor
@Data //生成 空参构造 get、set、 tostring、 equals、 hascode
public class PageUtils<T> { private int totalCount;//总记录数 依赖查询,外界传入
private int pageSize;//页面容量 依赖外界传入
private int currentPage;//当前页码 依赖外界传入
private int totalPage;//总页数 √
private int startIndex;//每一页的起始索引
private int prePage;//上一页 √
private int nextPage;//下一页 √
private List<T> list;//分页查询出的数据本身 public PageUtils(int totalCount, int pageSize, String currentPage) {
this.totalCount = totalCount;
this.pageSize = pageSize;
initCurrentPage(currentPage);
initTotalPage();
initStartIndex();
initPrePage();
initNextPage();
} //初始化当前页码
public void initCurrentPage(String currentPage) {
if(currentPage == null) {
//第一次加载页面时没有当前页码,则默认为1
this.currentPage = 1;
} else {
//后续操作分页工具条,都是基于当前页在操作的
this.currentPage = Integer.parseInt(currentPage);
}
} //初始化每一页的起始索引
public void initStartIndex() {
this.startIndex = (this.currentPage - 1) * this.pageSize;
} //初始化上一页
public void initPrePage() {
if(this.currentPage == 1) {
//如果本身就是第一页,则前一页依然是第一页
this.prePage = 1;
} else {
//如果是2到更大的页码,则有前一页
this.prePage = this.currentPage - 1;
}
} //初始化总页数
public void initTotalPage() {
this.totalPage = (this.totalCount % this.pageSize == 0) ? (this.totalCount / this.pageSize) : (this.totalCount / this.pageSize + 1);
} //初始化下一页
public void initNextPage() {
if(this.currentPage == this.totalPage) {
//如果本身就是最后一页,则下一页依然是最后一页
this.nextPage = totalPage;
} else {
//如果是倒数第二页以及以前,则有下一页
this.nextPage = this.currentPage + 1;
}
} }
java原生的分页工具的更多相关文章
- jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具
jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...
- 基于JAVA原生HTTP请求工具类 httphelper
原文地址;http://lushuifa.iteye.com/blog/2313896 import java.io.BufferedReader; import java.io.BufferedWr ...
- Java原生隐藏字符-工具类
package com.seesun2012.common.util; /** 隐藏字符-工具类 @author seesun2012@163.com */ public class HiddenCh ...
- 分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
[博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708]http ...
- JAVA分页工具类
最近写了一个代码生成工具,分享下该工具下的分页工具 一.分页工具类 package com.qy.code.api.page; import java.io.Serializable; import ...
- PageUtil.java分页工具类
package com.chabansheng.util; /** * 分页工具类 * @author Administrator * */ public class PageUtil { /** * ...
- android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? 首先,Java语言提供的类 ...
- 【Java】Java原生的序列化和反序列化
写一个Java原生的序列化和反序列化的DEMO. 需序列化的类: package com.nicchagil.nativeserialize; import java.io.Serializable; ...
- Redis 工具类 java 实现的redis 工具类
最近了解了一下非关系型数据库 redis 会使用简单的命令 在自己本地电脑 使用时必须先启动服务器端 在启动客户端 redis 简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内 ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
随机推荐
- Vue 修改对象(数组)没有立即生效
在写项目时遇到了给数组赋值后,出现赋值延时的问题,解决办法如下 // Vue 不能检测以下变动的数组: // 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = ne ...
- 【Allwinner】---全志GPIO号 计算
全志的GPIO号在 sunxi-gpio.h 中定义 sunxi-gpio.h1二.GPIO号定义#define SUNXI_PA_BASE 0#define SUNXI_PB_BASE 32#def ...
- Spring Native打包本地镜像,无需通过Graal的maven插件buildtools
简介 在文章<GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动>中,我们介绍了如何使用Spring Native和buildtool ...
- C++迭代器种类与编译期间多态
迭代器分类 C++ STL 中根据移动能力将迭代器分成了 5 类: Input Iterator 输入迭代器,只支持 operator++ 操作. Output Iterator 输出迭代器,只支持 ...
- Linux之ssh远程连接
Linux之ssh远程连接 一.下载远程连接工具Xshell Xshell是一种远程连接工具,可用来远程连接虚拟机. Xshell免费版下载地址 输入名字和邮箱,可以在邮箱看到下载Xshell的链接. ...
- imax6开发版_交叉编译
下载 arm-linux-gnueabihf-gcc编译器 sudo apt install gcc-arm-linux-gnueabihf #安装完成后使用如下命令查看版本 arm-linux-gn ...
- React中组件之间是如何通信的 react的组件通信方式有哪些
一.是什么 通信指的是发送者通过某种媒体 以某种格式来传递信息 到收信者以达到某个目的,广义上,任何信息的传递都是通信 二.如何通信? 组件传递的方式有很多种,根据传送者和接收者可以分为如下: 父组件 ...
- 【TS】接口和接口继承
接口 接口也相当于语法规范,在使用ts编写的时候,需要注重的就是数据类型以及语法规范,恰好这里提供了一个接口,在进行传值的时候,传值的类型以及字段必须符合我们预期的类型规范才可以,下面是代码演示 语法 ...
- C语言-三子棋项目
开源地址 https://kxd.lanzoul.com/iLwHG0e4nupc 肯定有大量BUG 求指出 电脑自动下棋的算法很差 毕竟我也没特意去研究
- Centos7作为VNCserver,本地使用VNCViewer连接
1.概念 VNC是一个远程连接工具 VNC is used to display an X windows session running on another computer. Unlike a ...