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 ...
随机推荐
- 目标检测论文解读12——RetinaNet
引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...
- django 权限设置-菜单显示
问题:在用户登录后,如何只显示出用户权限的菜单呢?需要设置显示菜单权限 1.为了显示菜单,需要在models权限上添加is_menu(手动判断是否是查看)的icon(图标字符串) 在rbac中录入另一 ...
- ActiveMQ消息可靠性-签收
非事务模式下消费者签收 动签收就像快递到达时,快递寄送点给你签收了,不用你自己去签收,而手动签收就是必须我本人签收, 自动签收(默认为自动签收) 手动签收:能够避免消息的重复消费 当设置为手动签收时, ...
- Java 静态、类加载
1.静态是什么?有什么用? static的主要作用在于创建独立于具体对象的域变量或者方法. 每创建一个对象,都会在堆里开辟内存,存成员(属性),但是不存方法,方法是共用的,没必要每一个对象都浪费内存去 ...
- SDSC 2018 day2解题报告
目录 10.12考试总结 T1 最近公共祖先 错误原因 T2 即时战略 T3 欧皇 10.12考试总结 T1 最近公共祖先 预估得分: 100 实际得分: 20 最大得分: 100 用时:1小时10分 ...
- UDF——输出网格节点坐标
需要在VS当中进行编译,具体内容可参看前面 <在Visual Studio中直接编译Fluent的UDF的总结(串行)> <在Visual Studio中直接编译Fluent的UDF ...
- IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了(持续更新)
前面的文章中,一直在强调2019系列的idea无法使用补丁进行永久激活,但是最近发现,已经有大佬可以利用补丁将idea 2019.2及以下版本激活到2089年了,而且还不用改hosts,实在是佩服,不 ...
- 【医学】三分钟看懂乳腺BI-RADS分级
“BI-RADS”是指美国放射学会的乳腺影像报告和数据系统(Breast Imaging Reporting and Data System)的缩写.BI-RADS分级法将乳腺病变分为0-6级,用来评 ...
- sklearn保存模型的两种方式
sklearn 中模型保存的两种方法 一. sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘. from sklearn.externals import joblib # ...
- Allowed memory size of 134217728 bytes exhausted问题解决方法
Allowed memory size of 134217728 bytes exhausted问题解决方法 php默认内存限制是128M,所以需要修改php.ini文件. 查找到memory_lim ...