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 ...
随机推荐
- win10台式机rtl8188eu(FW 150 UM V2.0)无线网卡无法连接wifi(无法连接到这个网络)
同一个网卡,同一个WiFi,在笔记本上能用,能连接wifi,但是在台式机上就不能连接wifi,提示“无法连接到这个网络”,如下图. win10版本都是1903.尝试换各种驱动都没解决. 最后更新主板b ...
- python字典中显示中文
#coding=utf-8import jsondict={'title':"这是中文"}print json.dumps(dict,ensure_ascii=False,enco ...
- 破解优酷VIP视频
目录 一 破解优酷VIP视频 一 破解优酷VIP视频 import requests import re import json HEADERS = { 'user-agent': 'Mozilla/ ...
- 异常DBG_PRINTEXCEPTION_C(0x40010006)和DBG_PRINTEXCEPTION_WIDE_C(0x4001000A)
简介 DBG_PRINTEXCEPTION_C,代码0x40010006:DBG_PRINTEXCEPTION_WIDE_C,代码0x4001000A:在调试器的控制台窗口打印异常信息/调试信息.它定 ...
- python 文件读写模式区别,以及如何边写入边保存flush()
如表: 模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否, ...
- [HeadFrist-HTMLCSS学习笔记]第七、八章
[HeadFrist-HTMLCSS学习笔记]第七章CSS入门:加一点样式 重点噻 段落添加背景颜色 p{ background-color: red; } 文本颜色 p{ color: ,maroo ...
- 一个sh脚本 同时运行 多个sh脚本
问题: 原来的启动方式 cd /opt/OpenIMSCore ./pcscf.sh ./icscf.sh ./scscf.sh cd /opt/OpenIMSCore/FHoSS/deploy ./ ...
- 【数据结构与算法】k-d tree算法
k-d tree算法 k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索). 应用背景 SIFT算法中做特征点 ...
- Jmeter接口测试【1】_安装配置教程
一.安装Java环境 1.下载JDK JDK 可以到官网选择windows系统版本(32位/64位)下载http://www.oracle.com/technetwork/java/javase/do ...
- C语言结构体的“继承”
这里说的继承有点像C++里的父类和子类,实际上是结构体类型的强制转换,最近看Linux内核源码时经常接触到这种方法,在这里就当作是一个简单的学习吧. 下面给出一个Demo,很简单,分别定义了一个fat ...