package com.zzuli.util;

 import java.util.List;

 /**
* PageBean类
* @author hejjon
* @date 2019年6月8日 下午2:18:50
* @param <T>
*/
public class PageBean<T> {
private int size; // 每页要显示的记录条数 指定默认为5
private int index; // 当前页号
private int totalPageCount; // 总页数
private int totalCount; // 记录总条数 private int[] numbers; // 展示页数的数组
private List<T> list; // 要显示到页面的数据集合 /**
* 获取起始下标
* @return
*/
public int getStartRow() {
return (index - 1) * size;
} /**
* 获取结束下标
* @return
*/
public int getEndRow() {
return index * size;
} /**
* 获取每页要显示的记录条数
* @return
*/
public int getSize() {
return size;
} /**
* 设置每页要显示的记录条数
* @param size
*/
public void setSize(int size) {
if (size > 0) {
this.size = size;
}
} /**
* 获取当前页号
* @return
*/
public int getIndex() { if (totalPageCount == 0) {
return 0;
}
return index;
} /**
* 设置当前页号
* @param index
*/
public void setIndex(int index) {
if (index > 0) {
this.index = index;
}
} /**
* 获取记录总条数
* @return
*/
public int getTotalCount() {
return totalCount;
} /**
* 设置记录总条数
* @param totalCount
*/
public void setTotalCount(int totalCount) {
if (totalCount > 0) {
this.totalCount = totalCount;
setTotalPageCountByRs(); // 根据总记录数计算总页数
}
} /**
* 获取总页数
* @return
*/
public int getTotalPageCount() {
return totalPageCount;
} /**
* 根据总记录条数计算总页数
*/
private void setTotalPageCountByRs() {
if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size == 0) {
this.totalPageCount = this.totalCount / this.size;
} else if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size > 0) {
this.totalPageCount = this.totalCount / this.size + 1;
} else {
this.totalPageCount = 0;
}
// 设置展示页数数组
setNumbers(totalPageCount);
} /**
* 获取展示页数的数组
* @return
*/
public int[] getNumbers() {
return numbers;
} /**
* 设置展示页数的数组
* @param numbers
*/
public void setNumbers(int totalPageCount) {
if (totalPageCount > 0) {
// 当前数组长度
int[] numbers = new int[totalPageCount > 10 ? 10 : totalPageCount];
int k = 0; for (int i = 0; i < totalPageCount; i++) {
if ((i >= index - (numbers.length / 2 + 1) || i >= totalPageCount - numbers.length)
&& k < numbers.length) {
numbers[k] = i + 1;
k++;
} else if (k >= numbers.length) {
break;
}
}
this.numbers = numbers;
} } /**
* 获取要显示到页面的数据集合
* @return
*/
public List<T> getList() {
return list;
} /**
* 设置要显示到页面的数据集合
* @param list
*/
public void setList(List<T> list) {
this.list = list;
}
} // end PageBean

最新文章

  1. 数据分布转换:非正态 -&gt; 正态
  2. lcok-free简易实现
  3. Nuke
  4. 移动Web开发规范
  5. [转]HTML5本地存储——Web SQL Database
  6. 11g RAC集群启动关闭、各种资源检查、配置信息查看汇总。
  7. Python3基础 大于一个数的同时小于一个数
  8. Pike学习笔记
  9. ajax.js
  10. 学习笔记:JavaScript-入门篇
  11. jquery实现导航栏效果
  12. ●BZOJ 2743 [HEOI2012]采花
  13. js中let和var的区别 不懂得加QQ 2270312758
  14. 利用PHP连接数据库——实现用户数据的增删改查的整体操作实例
  15. Android Studio安装配置
  16. Node 内存控制
  17. DevOps之基础设施-电力
  18. CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板
  19. Array对象常用方法
  20. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置、设置背景、数据列表)

热门文章

  1. 通过async实现协程的延迟执行及结果获取
  2. PHP实例:获取操作系统、IP、地理位置、浏览器、等信息
  3. yoast breadcrumb面包屑导航修改去掉product
  4. Python3 异常
  5. chentos7 编译安装keepalived 1.4.5
  6. vb.net 判断某个文件是否已经打开了
  7. Git-push和pull分支
  8. java web开发入门汇总
  9. 2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范
  10. c# MongoDB分页辅助类,支持多条件查询