package com.xjgs.util;
public class PageUtil {
private int size;//每页显示的条目数
private int num;//用户选择的页号
private int rowCount;//该次查询信息的总数
private int startRow;//分页查询信息起始的行号 即limit后面第一个参数
private int pageCount;//总页数
private int first = 1;//首页
private int last;//末页
private int prev;//上一页
private int next;//下一页
private int start;//导航栏的起始页数
private int end;//导航栏的结束页数
private int numCount = 10;//导航栏显示的数目
public PageUtil(int size,String str_num,int rowCount){
this.size = size;
this.rowCount = rowCount;
this.num = 1;
if(str_num != null){
this.num = Integer.parseInt(str_num);
}
this.pageCount = (int) Math.ceil((double)this.rowCount/this.size);
this.last = this.pageCount;
this.num = Math.min(this.num, this.last);
this.num = Math.max(this.num, this.first);
this.startRow = (this.num - 1)*this.size;
this.prev = this.num - 1;
this.next = this.num + 1;
this.start = Math.max(this.num - this.numCount/2, this.first);
this.end = Math.min(this.start + this.numCount, this.last);
if(this.end - this.start < this.numCount){
this.start = Math.max(this.first, this.end - this.numCount);
}
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
public int getStartRow() {
return startRow;
}
public void setStartRow(int startRow) {
this.startRow = startRow;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getFirst() {
return first;
}
public void setFirst(int first) {
this.first = first;
}
public int getLast() {
return last;
}
public void setLast(int last) {
this.last = last;
}
public int getPrev() {
return prev;
}
public void setPrev(int prev) {
this.prev = prev;
}
public int getNext() {
return next;
}
public void setNext(int next) {
this.next = next;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public int getNumCount() {
return numCount;
}
public void setNumCount(int numCount) {
this.numCount = numCount;
}
}
相关推荐
这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...
在IT行业中,PageUtil工具是常见的分页查询辅助类,它极大地简化了开发过程中处理数据库分页数据的工作。PageUtil通常包含对数据进行分页、排序、统计等功能,旨在提高开发效率并保持代码的整洁性。下面将详细介绍...
本项目“Servlet+jsp+pageUtil实现分页”是利用这些技术来实现数据的分页展示,提高用户体验,避免一次性加载大量数据导致页面响应慢的问题。在这个项目中,我们主要关注以下几个核心知识点: 1. **Servlet**: ...
Java纯手工分页代码PageUtil.rar是一个压缩包,包含了实现Java分页功能的源代码示例。在这个项目中,开发者提供了从头开始实现分页逻辑的步骤,旨在帮助我们理解分页的基本原理,并掌握如何在没有依赖任何特定框架或...
实现部分分页的逻辑 输入参数:1、从前端获取的字符串型当前页;2、数据库拿到的数据总条数;3、自己设置一个每页显示的条数 返回:一个包装对象。其中的属性包含当前页、总页数、mysql数据查询的起始索引号、以及...
PageUtil<User> pageUtil = new PageUtil(count, page, rows); hashMap.put("startIndex", pageUtil.getStartIndex()); hashMap.put("endIndex", pageUtil.getEndIndex()); List<User> list = userMapper....
PageUtil pageUtil = new PageUtil(pageSize, currentPage, totalRecord, dataList); // 将PageUtil对象传给JSP页面 request.setAttribute("pageUtil", pageUtil); request.getRequestDispatcher("result.jsp")....
本实例主要展示了如何在Java中实现一个简单的分页工具类`PageUtil`。 `PageUtil`类包含了与分页相关的属性和方法: 1. **属性**: - `pageSize`: 每页显示的条数,用于定义每一页的数据量。 - `recordCount`: ...
今天,我们将详细解释一个自定义的列表分页工具类,名为PageUtil。 列表分页的重要性 在实际开发中,我们经常遇到需要显示大量数据的情况,而列表分页正是解决这个问题的常见手段。通过将数据分页,我们可以减少...
在IT行业中,分页是数据管理的一个重要方面,特别是在处理大量数据时,为了提高用户体验和系统性能,分页成为了一种必要的技术。标题中的“Pager(通过的分页工具类)”显然指的是一个用于实现分页功能的Java类。...
而分页逻辑通常抽象到一个工具类PageUtil中,PageUtil可以继承自HibernateDaoSupport,这样它可以方便地利用注入的SessionFactory进行数据库查询。PageUtil提供了一组方法用于执行分页查询,这些方法接收必要的参数...
另外,还有一个重载的`selectListByPage`方法,接收`pageNum`和`pageSize`,首先计算`offset`,然后调用DAO层的`selectListByPage`方法获取数据,最后将结果存储到`PageUtil`对象的`list`属性中,返回整个分页对象。...
PageUtil会封装这些查询方法,例如设置查询条件、页码和每页大小,然后返回分页后的数据及相关信息,如总记录数和总页数。 `PageBean.java`则是用于存储分页结果的实体类。它一般包含当前页数据的List集合,以及...
`PageUtil.java` 文件很可能是实现这一功能的一个工具类,它包含了处理分页逻辑的实体代码。下面将详细介绍分页的相关知识点以及这个实体类可能包含的内容。 1. **分页原理**: 分页通常涉及到两个主要参数:当前...
这意味着我们将创建两个不同的类:一个用于表示分页信息(Page.java),另一个用于处理分页逻辑(PageUtil.java)。 1. **页面实体类Page.java**: 这个类定义了分页所需的属性,如每页记录数(pageSize)、总页数...
PageUtil pageUtil = userService.userQueryForPage(rows, page, user); map.put("total", pageUtil.getAllRow()); map.put("rows", pageUtil.getList()); return SUCCESS; } } ``` 这里,`userQueryForPage`...
例如,如果数据量过大,不能一次性加载到内存中,`PageUtil`可能会将数据分割成多个部分,然后将这些子任务发送到不同的节点进行并行处理。这通常通过消息队列或工作流引擎实现,如RabbitMQ、Kafka或Apache Beam。 ...
java各种工具类:精确的数学运算、将String进行base64编码解码、树的递归等 ...KmlUtil、LogUtils、NumberUtil、PageUtil、PathUtility、PermissionUtils、PoiUtil、R、RedisUtil、SplitUnitUtil、SpringBeanFact
在`PageUtil`类中,`get`方法应根据命名规则解析元素并返回相应的值。实际实现时,我们需要添加逻辑来识别元素类型(如字符串型或整型),然后根据类型构建SQL语句。例如,对于字符串型元素,我们需要在SQL语句中...
通过对SSH分页代码实现类Page及PageUtil的详细分析,我们了解到在SSH框架下实现高效分页的关键在于合理设计分页模型、优化数据查询逻辑以及前端与后端之间的交互设计。这些技术点对于提高Web应用性能具有重要意义。