JavaWeb分页-----PageBean.java
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
JavaWeb分页-----PageBean.java的更多相关文章
- javaweb分页查询实现
Javaweb分页技术实现 分页技术就是通过SQL语句(如下)来获取数据,具体实现看下面代码 //分页查询语句 select * from 表名 where limit page , count; 和 ...
- Mybatis包分页查询java公共类
Mybatis包分页查询java公共类 分页----对于数据量非常大的查询中.是不可缺少的. mybatis底层的分页sql语句因为须要我们自己去手动写.而实现分页显示的时候我们须要依据分页查询条 ...
- pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- 住javaWeb分页实现(模拟百度首页)
本文来源于 http://blog.csdn.net/tjpu_lin/article/details/41050475 近期在开发一个项目,项目中有非常多数据展示的模块.所以要用到分页,网上搜了非常 ...
- javaweb分页思想
web上的分页分析 在web编写中的经常会遇到,数据需要分页的情况.当数据量不是很大的时候. 可以直接使用js来分页.可以很好的提高性能.简化代码.数据量大的时候.还是需要使用java的分页类 ...
- cassandra高级操作之分页的java实现(有项目具体需求)
接着上篇博客,我们来谈谈java操作cassandra分页,需要注意的是这个分页与我们平时所做的页面分页是不同的,具体有啥不同,大家耐着性子往下看. 上篇博客讲到了cassandra的分页,相信大家会 ...
- Javaweb分页功能简单实现
效果如下图 数据库中的数据 页面效果 首先,创建一个通用类Page,代码及 ...
- MongoDB分页的Java实现和分页需求的思考
前言 传统关系数据库中都提供了基于row number的分页功能,切换MongoDB后,想要实现分页,则需要修改一下思路. 传统分页思路 假设一页大小为10条.则 //page 1 1-10 //pa ...
随机推荐
- ubuntu 1804安装详解
我这边安装的是ubuntu server版本,大家安装时可以参考我这篇文件进行安装. 1.选择安装语言: 这里选择默认的"English"和“中文(简体)”都可以. 2.选择”安装 ...
- python面试题以及答案
目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的 ...
- OpenResty: PHP增加数据库插件
首先修改下php.ini 文件 告诉php当前的扩展库路径 扩展库--就是扩展的其它功能的库 这个就是扩展库文件夹,里面有很多功能性文件 就是增加这一句 extension_dir = &qu ...
- ESA2GJK1DH1K升级篇: 远程升级准备工作: 安装Web服务器
前言 大家可以安装Apache,Tomcat,nginx 等Web服务器软件,这篇文章安装 OpenResty 作为Web服务器软件,该软件安装在云端电脑,如果想 安装到自己本地电脑实现该功能,可使用 ...
- Python知识点复习
一.列表1.创建一个文件birthday.py,假设你要祝某人生日快乐!首先将年龄存储在变量age中,将姓名存储在变量name中,让程序输出类似“阿明,23岁生日快乐!” 例如:假设你要祝某人生日快乐 ...
- [题解向] [Luogu1441] 砝码称重
\(\color{red}{\mathcal{Description}}\) \(Link\) \(\color{red}{\mathcal{Solution}}\) 思路:\(01\)背包方案数 + ...
- 将float数字按照一定格式写入到文件中
/* float.c */ #include<stdio.h> #include<string.h> int main() { FILE *fp = fopen("D ...
- C语言之symlink
函数原型: #include <unistd.h> int symlink(const char * oldpath, const char * newpath); 函数说明: symli ...
- 华为鸿蒙OS发布!方舟支持混合编译,终将可替换安卓?
前言 有关于鸿蒙的消息之前也有说过,就在昨天下午,华为举行了2019开发大会,正式推出了鸿蒙os系统(Harmony).其相关负责人表示,也是基于微软内核的全场景分布式OS 鸿蒙凭借微内核的优势, ...
- 【Gamma阶段】第八次Scrum Meeting
冰多多团队-Gamma阶段第八次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 卓培锦 编辑器风格切换(添加夜间模式) UI界面手势切换 牛雅哲 添加pytorch训练dict和ssh工具 ...