public class PageList<T> {

    private int totalpage;     //总页数
private int totalcount; //总记录数
private int currentpage; //当前页
private int pagesize; //每页的数量
private int firstpage; //第一页
private int lastpage; //最后一页
private int prepage; //上一页
private int nextpage; //下一页
private boolean isprepage; //是否有上一页
private boolean isnextpage; //是否有下一页
private List<T> result = new ArrayList<T>(); /**
* 构造方法描述
*
* @param result 返回结果
* @param currentpage 当前页数
* @param pagesize 每页的数量
* @param totalcount 总记录数
*/
public PageList(List<T> result,int currentpage, int pagesize, int totalcount){
this.result = result;
this.currentpage = currentpage;
this.pagesize = pagesize;
this.totalcount = totalcount; if(pagesize == 0 || totalcount == 0){
return ;
} if(currentpage < 1){
this.currentpage = 1;
} if (totalcount % pagesize == 0) {
this.totalpage = totalcount / pagesize;
} else {
this.totalpage = totalcount / pagesize + 1;
} this.firstpage =1;
this.lastpage = totalpage; if(this.currentpage > 1){
this.prepage = this.currentpage - 1;
}else{
this.prepage = 1;
} if(this.currentpage < totalpage){
this.nextpage = this.currentpage + 1;
}else{
this.nextpage = totalpage;
} if(this.currentpage <= 1){
this.isprepage = false;
}else{
this.isprepage = true;
} if(this.currentpage >= totalpage){
this.isnextpage = false;
}else{
this.isnextpage = true;
}
} public int getTotalpage() {
return totalpage;
} public void setTotalpage(int totalpage) {
this.totalpage = totalpage;
} public int getTotalcount() {
return totalcount;
} public void setTotalcount(int totalcount) {
this.totalcount = totalcount;
} public int getCurrentpage() {
return currentpage;
} public void setCurrentpage(int currentpage) {
this.currentpage = currentpage;
} public int getPagesize() {
return pagesize;
} public void setPagesize(int pagesize) {
this.pagesize = pagesize;
} public int getFirstpage() {
return firstpage;
} public void setFirstpage(int firstpage) {
this.firstpage = firstpage;
} public int getLastpage() {
return lastpage;
} public void setLastpage(int lastpage) {
this.lastpage = lastpage;
} public int getPrepage() {
return prepage;
} public void setPrepage(int prepage) {
this.prepage = prepage;
} public int getNextpage() {
return nextpage;
} public void setNextpage(int nextpage) {
this.nextpage = nextpage;
} public boolean isIsprepage() {
return isprepage;
} public void setIsprepage(boolean isprepage) {
this.isprepage = isprepage;
} public boolean isIsnextpage() {
return isnextpage;
} public void setIsnextpage(boolean isnextpage) {
this.isnextpage = isnextpage;
} public List<T> getResult() {
return result;
} public void setResult(List<T> result) {
this.result = result;
} }

Java分页查询工具类的更多相关文章

  1. 分享自研实现的多数据源(支持同DB不同表、跨DB表、内存数据、外部系统数据等)分页查询工具类实现原理及使用

    思考: 提起分页查询,想必任何一个开发人员(不论是新手还是老手)都能快速编码实现,实现原理再简单不过,无非就是写一条SELECT查询的SQL语句,ORDER BY分页排序的字段, 再结合limit ( ...

  2. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  3. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  4. Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo

    Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo CountDownLatch countDownLatch这个类使一个线程等待其他线程 ...

  5. HttpTool.java(在java tool util工具类中已存在) 暂保留

    HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

  6. java文件处理工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

  7. java格式处理工具类

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  8. 分享非常好用的前端分页js工具类 灵活 简单易懂

    分享自己封装的前端分页js工具类  下面是默认样式效果截图 可以随意更改js及css 很灵活 /** * pageSize, 每页显示数 * pageIndex, 当前页数 * pageCount 总 ...

  9. Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类

    Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类   =========================== ©Copyright 蕃薯耀 2017年9月25日 http://www ...

随机推荐

  1. mysql5.7 基于gtid的主从复制

    基本环境 版本 5.7.14 主库ip:192.168.1.100 port:3306 从库ip:102.168.1.101 port:3306 搭建注意事项 主库配置 gtid-mode=on en ...

  2. C#开发activex

    https://www.cnblogs.com/bobshieh/p/5746844.html

  3. vue v-modle修饰符.number .trim

    语法糖: 在不影响功能的情况下,添加某种方法实现同样的效果,从而方便程序开发. .number:可以将输入转换成Number类型,否则虽然输入的是数字,但它的类型其实是String. .trim:自动 ...

  4. 手机号码格式验证和 FASTDFS 工具类

    常见大陆和香港号码格式验证 import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex ...

  5. Nginx配置PHP环境支持

    打开Nginx配置文件 输入 vim etc/nginx/nginx.conf 找到配置扩展文件: 打开配置文件配置如下环境: server { listen       80; server_nam ...

  6. 【LeetCode 3】无重复字符的最长子串

    描述 [题解] 尺取法 对于[l..r]这段 如果新加进来的s[r]有和之前的重复. 那么就不用重新开始了. 直接递增左区间. 让这段没有重复数字了再说. *****然后再把s[r]加进去. [代码] ...

  7. A*寻路算法C++简单实现

    搜索区域    如图所示简易地图, 其中绿色方块的是起点 (用 A 表示), 中间蓝色的是障碍物, 红色的方块 (用 B 表示) 是目的地. 为了可以用一个二维数组来表示地图, 我们将地图划分成一个个 ...

  8. AutoCAD2016简体中文破解版32位64位下载

    AutoCAD2016序列号:666-69696969 667-98989898 400-45454545 066-66666666(任意一个) AutoCAD2016产品密钥:001H1 AutoC ...

  9. C语言变长参数实现

    #include<stdio.h> #include<string.h> #include<stdarg.h> /***编写可变长参数列表的函数案例*/ /* vo ...

  10. Java-Class-@I:lombok.extern.slf4j.Slf4j

    ylbtech-Java-Class-@I:lombok.extern.slf4j.Slf4j 1.返回顶部   2.返回顶部 1. package com.ylbtech.api.controlle ...