Java 分页工具类
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 分页工具类相关推荐
- java分页的工具类,java分页工具类
PageBean-分页 package com.soyea.util; import java.io.Serializable; import java.util.List; /** * 分页工具类 ...
- java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
[博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...
- Java Web的分页工具类
最近写一个java web项目,以前分页的工具类,都是基础架构的人写好了的.也没有去细看,现在遇到这个状况. 就整理一下思路,自己写了一个分页的工具类.写的不好之处,还望斧正. 下面是我的代码: Pa ...
- java手动分页工具类
开发中,碰到了一些奇葩的业务逻辑,无法使用框架自身的分页功能,想了很久最后还是决定自己手写一个分页工具类,以备后续参考和使用,下面直接上代码, /*** 手动分页类* @param datas* @p ...
- ssm整合oracle分页,java实现ssm分页工具类及其使用方法
分享一下我现在所使用的分页工具类,不像网上的那么规范 纯属自己总结根据逻辑敲出来的,基于mysql的limit来做分页.有不对的地方还望大佬指出,直接上代码 PageTools package com ...
- 项目经验分享——Java常用工具类集合 转
http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接 ...
- Hutool Java常用工具类汇总
简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...
- PageUtils后端常用分页工具类
工具类代码 package com.john.test.utils;import java.util.List;/*** @Author jiang* @Version 1.0* 分页工具类*/ pu ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类--仅仅获得连接对象 ConnDB.java package com.ut ...
- UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...
最新文章
- .NET获取机器信息
- 算法刷题-数论-试除法求约数、约数个数、约数之和、最大公约数(辗转相除法)
- OpenGL Subdivision Modes细分模式的实例
- ancestral 箭头符号,译林版《牛津高中英语》模块五 高二上学期
- 利用Python定时给女友微信发送今日天气情况,异地恋维护感情神器
- 排序算法(7)----桶排序
- Top10机器学习开源项目发布,历时一个月评出 | 附GitHub地址
- 研究员说明如何滥用推特图像隐藏 ZIP 和 MP3 文件
- Oracle弱智100问
- [sdoi2015]排序(搜索+剪枝优化)
- 分析方法选讲期末复习脉络图---完结版
- Uni-app 小程序 App 的广告变现之路:激励视频广告
- python 导出excel 可筛选_python中实现excel的高级筛选
- 深入探索Android内存优化
- C#获取字符串的拼音和首字母
- 天轰川 推荐的Javscript大收集 大集锦
- 安装Rstudio-server,使用官网的程序下载安装不合理?其对应的安装包是Ubuntu14,而我的系统是Ubuntu18.
- 码元、波特、速率、带宽-王道计算机网络
- 门禁系统服务器需要什么要求,完备的门禁系统应该具有这些功能
- SQL语句教程-------SQL语法
热门文章
- java小球反弹_java实现小球碰撞反弹(示例代码)
- java前端商城_网上java商城系统前端开发基础技能浅谈
- JAVA电商商城系统
- 最优化算法之鲍威尔算法(java)
- 鸿蒙不是手机系统?智慧屏曝光,华为将布局“贾维斯”智能时代
- CS游戏控制台命令大全(来自网络)
- 如何导出久其报表所有数据_【久其报表数据管理系统怎么用】久其报表数据管理系统好不好_使用技巧-ZOL软件百科...
- 易点易动助力叮咚买菜数字化管理固定资产和易耗品
- java过滤空号了停机号_手机空号、停机、注销,空号检测为你去除无效号码
- 进销存excel_excel进销存人人都会的制作方法