package com.eaju.soms.entity.custom;

import java.util.List;

@SuppressWarnings("rawtypes")
public class PageBean {

// 传递的参数或是配置的参数
private int currentPage; // 当前页
private int pageSize; // 每页显示多少条记录

// 查询数据库
private List recordList; // 本页的数据列表
private int recordCount; // 总记录数

// 计算
private int pageCount; // 总页数
private int beginPageIndex; // 页码列表的开始索引(包含)
private int endPageIndex; // 页码列表的结束索引(包含)

public PageBean() {
super();
}

/**
* 只接受4个必要的属性,会自动的计算出其他3个属性的值
*
* @param currentPage
* @param pageSize
* @param recordList
* @param recordCount
*/
public PageBean(int currentPage, int pageSize, List recordList, int recordCount) {
this.currentPage = currentPage;
this.pageSize = pageSize;
this.recordList = recordList;
this.recordCount = recordCount;

// 计算 pageCount
pageCount = (recordCount + pageSize - 1) / pageSize;

// 计算 beginPageIndex 与 endPageIndex
// >> 总页码小于等于10页时,全部显示
if (pageCount <= 10) {
beginPageIndex = 1;
endPageIndex = pageCount;
}
// >> 总页码大于10页时,就只显示当前页附近的共10个页码
else {
// 默认显示 前4页 + 当前页 + 后5页
beginPageIndex = currentPage - 4; // 7 - 4 = 3;
endPageIndex = currentPage + 5; // 7 + 5 = 12; --> 3 ~ 12

// 如果前面不足4个页码时,则显示前10页
if (beginPageIndex < 1) {
beginPageIndex = 1;
endPageIndex = 10;
}
// 如果后面不足5个页码时,则显示后10页
else if (endPageIndex > pageCount) {
endPageIndex = pageCount;
beginPageIndex = pageCount - 9;
}
}
}

public List getRecordList() {
return recordList;
}

public void setRecordList(List recordList) {
this.recordList = recordList;
}

public int getCurrentPage() {
return currentPage;
}

public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}

public int getPageCount() {
return pageCount;
}

public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public int getRecordCount() {
return recordCount;
}

public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}

public int getBeginPageIndex() {
return beginPageIndex;
}

public void setBeginPageIndex(int beginPageIndex) {
this.beginPageIndex = beginPageIndex;
}

public int getEndPageIndex() {
return endPageIndex;
}

public void setEndPageIndex(int endPageIndex) {
this.endPageIndex = endPageIndex;
}
}

转载于:https://www.cnblogs.com/21heshang/p/5997467.html

分页实体类:PageBean相关推荐

  1. Java 分页实体类封装

    在开发中我们经常会用到的分页实体类,这里封装一个简单的分页实体类 package com.xxx.xxx.page;import java.util.List; import java.util.Ob ...

  2. mysql java 分页实体类_Java GUI+mysql+分页查询

    1.要求 : 创建一个学生信息管理数据库 2.实现分页查询 代码如下: a)学生实体类: /***@author: Annie * @date:2016年6月23日 * @description:学生 ...

  3. java类作为多层级的数据实体_API json多层数据实体类封装(利用泛型技术)

    完整源码查看点击进入:github地址 1: API json多层数据实体类封装(利用泛型技术) RootEntity.java public class RootEntity{ private in ...

  4. java 实体类包含list 怎么取值_2019 最新 500 道 Java 面试题

    2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的"功课",首先我研究了几乎所有大厂 ...

  5. java 实体类包含list 怎么取值_舅舅是面试官,偷偷告诉你们面试官最爱问的Java面试题...

    2015 年,因为工作岗位的变动,舅舅开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,舅舅做了大量的"功课",首先研究了几乎所有 ...

  6. 项目实体类报错_第一次开发项目感想

    1.大一感想 第一次真正的开发网站,就前两周开始,我大二期间学习了Java,在那时,我就开始考虑以后到底要从事哪方面的职业,我的专业是物联网,说实话,我真的对这方面没兴趣,我为什么对专业没兴趣,我也曾 ...

  7. java 实体类 临时注解_JPA:Java持久层API--配置流程

    一.JPA概述 1.1 JPA是什么 JPA (Java Persistence API) Java持久化API.是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没 ...

  8. [NewLife.XCode]实体类详解

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

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

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

  10. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Emp实体类和对应的配置信息

    easyui是jquery中很强大的插件,我们开发人员经常会遇到比较复杂的布局,或者在实现某个功能的时候要写好多的代码,比如说分页,那么easyui的datagrid就把他给代替了,现在我简要的分享几 ...

最新文章

  1. 学python的基础-老司机学python篇:第一季(基础速过、机器学习入门)
  2. Java的call by value_call by value or reference ?
  3. linux 修改文件名_Linux常用命令
  4. 话里话外:流程图绘制初级:六大常见错误
  5. 顶尖!百度AI算法专家手把手带你论文复现打比赛!
  6. 短视频源码,仿抖音源码,助您在短视频行业开辟出一条新路
  7. html5自动填充父类框,html5和css3进阶(浮动)----02
  8. 诗歌rails之获取本地ip地址
  9. 【渝粤教育】电大中专电子商务网站建设与维护_1作业 题库
  10. 移动端 重定向 https 请求
  11. Excel在spring cloud项目中乱码
  12. 千月影视全新改版影视app系统-支持投屏-二开美化版
  13. Arch-004ArchLinux搜狗输入法安装
  14. 每个程序员都应该给自己写本书
  15. matlab右下方箭头,matlab绘制箭头arrow
  16. appcan与java_AppCan试用体验
  17. 一分钟学会接网线(网络传输介质详解及布线连接)
  18. 计算机考研数学考一还是二,考研我不知道自己考数一还是数学二
  19. 任正非5年后重新强调:华为到了炸研发金字塔的时候
  20. Vue项目中设置背景图片

热门文章

  1. No Need for Genius Envy
  2. 凸优化有关的数值线性代数知识 4分块消元与Schur补
  3. OpenCV-Python教程(10、直方图均衡化)
  4. 【文献阅读笔记】(2):使用IMPUTES2和minimac软件完成群体特异性的基因型填充(Imputation)
  5. 2018_11_25_生活记录
  6. 【POJ 1113】Wall【凸包+一点思维】
  7. 第六章 静电场中的导体和电介质
  8. 一个求整系数多项式的全部有理根的方法
  9. php 身份认证 claim,在ASP.NET Core中实现一个Token base的身份认证实例
  10. Raki的读paper小记:LAMOL: LANGUAGE MODELING FOR LIFELONG LANGUAGE LEARNING