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 ...
随机推荐
- [WPF]限制程序单例运行
代码 System.Threading.Mutex mutex; protected override void OnStartup(StartupEventArgs e) { bool ret; m ...
- 在GCP上创建Cloud SQL的三种方式(Console,gcloud,Terraform)
1 简介 Cloud SQL 是GCP上的关系型数据库,常用的有三种方式来创建: (1) 界面操作 (2) 命令行 gcloud (3) Terraform 在开始之前,可以查看:<初始化一个G ...
- Gvim基础操作-01
Gvim基础操作 进行代码或者是文本.脚本都要使用到文本编辑工具. vi是visual的缩写,其意为可视化.它是Unix系统文本编辑的标准工具.利用光标在屏幕上的移动,用户可以方便的建立.修改或者插入 ...
- 什么是C语言
什么是C语言? C语言是一门计算机语言 计算机语言是什么呢? 人和计算机交流的语言,如C/C++.Java.python 计算机语言的发展? 二进制语言(硬件-电-正电1/负电0 1010100101 ...
- activemq插件在eos中的开发
ActiceMQ-CPP消息插件是CMS的一种实现,是一个能够与ActiveMQ进行通信的C++客户端库,ActiveMQ-CPP的架构设计能够支持可插拨的传输协议和消息封装格式,并且支持客户端容量, ...
- 10月11日内容总结——global和nonlocal方法、函数名的多种用法、闭包函数和装饰器
目录 一.global和nonlocal方法 global方法 nonlocal方法 二.函数名的多种用法 1.函数名可以当作变量名赋值 2.函数名可以当作函数的参数 3.函数名可以当作函数的返回值 ...
- 【学习日志】MongoDB为什么选择B树,而MySQL选择B+树实现索引
先说B树和B+树的区别 B树:非叶子节点也存储数据 B+树:只有叶子节点存储数据,且所有叶子节点通过指针相连接. 为什么MongoDB选择B树而,MySQL选择B+树呢?两种数据结构的区别摆在上面了, ...
- java通过idea启动查看类加载来源信息
本文为博主原创,转载请注明出处: jdk 8 环境时,可以在启动的环境中配置 :-XX:+TraceClassLoading 进行启动时查看 jdk 11 环境时,可以在启动的JVM 环境中配置 ...
- Spring 01 统一资源加载策略 Resource和ResourceLoader
转:https://www.cnblogs.com/loveLands/articles/10797772.html 1 Resource统一资源 1.1 简介 处理外部资源是很繁琐的事情,我们可能需 ...
- docker03-常用命令
1.docker基础命令 1.1docker启动 指令:service docker start 1.2查看状态 指令:service docker status 1.3重启docker 指令:ser ...