import java.util.ArrayList;
import java.util.List;/*** 功能:分页工具类*/public class PageBean<T> {private int pageSize; // 每页记录数private int pageNo; // 当前页private int totalPages; // 总页数private int totalRecords; // 总记录数private List<T> list;public int getPageSize() {return pageSize;}// 设置每页记录数public void setPageSize(int pageSize) {if (pageSize > 0) {this.pageSize = pageSize;} else {this.pageSize = 10;}}public int getPageNo() {return pageNo;}// 设置当前页public void setPageNo(int pageNo) {if (pageNo <= 1) {this.pageNo = 1;} else if (pageNo > this.totalPages) {this.pageNo = this.totalPages;} else {this.pageNo = pageNo;}}public int getTotalPages() {return totalPages;}// 设置总页数public void setTotalPages() {this.totalPages = this.totalRecords % this.pageSize == 0 ? this.totalRecords / this.pageSize: this.totalRecords / this.pageSize + 1;}public int getTotalRecords() {return totalRecords;}// 设置总记录数public void setTotalRecords(int totalRecords) {if (totalRecords >= 0) {this.totalRecords = totalRecords;} else {this.totalRecords = 0;}}public List<T> getList() {return list;}public void setList(List<T> list) {this.list = list;}// 当前页记录列表public void queryPager(int pageNo, int pageSize, List<T> list) {// 设置总记录数if (list != null && list.size() != 0) {this.setTotalRecords(list.size());} else {this.setTotalRecords(0);}// 设置每页记录数this.setPageSize(pageSize);// 设置总页数this.setTotalPages();// 设置当前页this.setPageNo(pageNo);// 设置当前页记录数if (list != null && list.size() != 0) {if (pageNo == this.totalPages) {this.list = list.subList((pageNo - 1) * pageSize, this.totalRecords);} else {this.list = list.subList((pageNo - 1) * pageSize, pageNo * pageSize);}} else {this.list = new ArrayList<>();}}public boolean isPrePage() {if (this.pageNo > 1) {return true;}return false;}public boolean isNextPage() {if (this.pageNo < this.totalPages) {return true;}return false;}public int getPrePageNo() {if (isPrePage()) {return this.pageNo - 1;}return this.pageNo;}public int getNextPageNo() {if (isNextPage()) {return this.pageNo + 1;}return this.pageNo;}
}

使用方法(控制层)

    public PageBean authorRankingList(@RequestParam(value = "page", defaultValue = "1") Integer page,@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {List<HelpcenterArticle> list = helpcenterArticleService.queryAuthorInfoList();if (CollectionUtils.isNotEmpty(list)) {PageBean<HelpcenterArticle> bean = new PageBean<>();bean.queryPager(page, pageSize, list);return bean;}return null;}

Java 分页工具类相关推荐

  1. java分页的工具类,java分页工具类

    PageBean-分页 package com.soyea.util; import java.io.Serializable; import java.util.List; /** * 分页工具类 ...

  2. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解

    [博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...

  3. Java Web的分页工具类

    最近写一个java web项目,以前分页的工具类,都是基础架构的人写好了的.也没有去细看,现在遇到这个状况. 就整理一下思路,自己写了一个分页的工具类.写的不好之处,还望斧正. 下面是我的代码: Pa ...

  4. java手动分页工具类

    开发中,碰到了一些奇葩的业务逻辑,无法使用框架自身的分页功能,想了很久最后还是决定自己手写一个分页工具类,以备后续参考和使用,下面直接上代码, /*** 手动分页类* @param datas* @p ...

  5. ssm整合oracle分页,java实现ssm分页工具类及其使用方法

    分享一下我现在所使用的分页工具类,不像网上的那么规范 纯属自己总结根据逻辑敲出来的,基于mysql的limit来做分页.有不对的地方还望大佬指出,直接上代码 PageTools package com ...

  6. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接 ...

  7. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  8. PageUtils后端常用分页工具类

    工具类代码 package com.john.test.utils;import java.util.List;/*** @Author jiang* @Version 1.0* 分页工具类*/ pu ...

  9. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类--仅仅获得连接对象 ConnDB.java package com.ut ...

  10. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

最新文章

  1. .NET获取机器信息
  2. 算法刷题-数论-试除法求约数、约数个数、约数之和、最大公约数(辗转相除法)
  3. OpenGL Subdivision Modes细分模式的实例
  4. ancestral 箭头符号,译林版《牛津高中英语》模块五 高二上学期
  5. 利用Python定时给女友微信发送今日天气情况,异地恋维护感情神器
  6. 排序算法(7)----桶排序
  7. Top10机器学习开源项目发布,历时一个月评出 | 附GitHub地址
  8. 研究员说明如何滥用推特图像隐藏 ZIP 和 MP3 文件
  9. Oracle弱智100问
  10. [sdoi2015]排序(搜索+剪枝优化)
  11. 分析方法选讲期末复习脉络图---完结版
  12. Uni-app 小程序 App 的广告变现之路:激励视频广告
  13. python 导出excel 可筛选_python中实现excel的高级筛选
  14. 深入探索Android内存优化
  15. C#获取字符串的拼音和首字母
  16. 天轰川 推荐的Javscript大收集 大集锦
  17. 安装Rstudio-server,使用官网的程序下载安装不合理?其对应的安装包是Ubuntu14,而我的系统是Ubuntu18.
  18. 码元、波特、速率、带宽-王道计算机网络
  19. 门禁系统服务器需要什么要求,完备的门禁系统应该具有这些功能
  20. SQL语句教程-------SQL语法

热门文章

  1. java小球反弹_java实现小球碰撞反弹(示例代码)
  2. java前端商城_网上java商城系统前端开发基础技能浅谈
  3. JAVA电商商城系统
  4. 最优化算法之鲍威尔算法(java)
  5. 鸿蒙不是手机系统?智慧屏曝光,华为将布局“贾维斯”智能时代
  6. CS游戏控制台命令大全(来自网络)
  7. 如何导出久其报表所有数据_【久其报表数据管理系统怎么用】久其报表数据管理系统好不好_使用技巧-ZOL软件百科...
  8. 易点易动助力叮咚买菜数字化管理固定资产和易耗品
  9. java过滤空号了停机号_手机空号、停机、注销,空号检测为你去除无效号码
  10. 进销存excel_excel进销存人人都会的制作方法