package com.dongly.common.page; /** * 分页接口 */ public interface Paginable { /** * 总记录数 * @return */ public int getTotalCount(); /** * 总页数 * * @return */ public int getTotalPage(); /** * 每页记录数 * * @return */ public int getPageSize(); /** * 当前页号 * * @return */ public int getPageNo(); /** * 是否第一页 * * @return */ public boolean isFirstPage(); /** * 是否最后一页 * * @return */ public boolean isLastPage(); /** * 返回下页的页号 */ public int getNextPage(); /** * 返回上页的页号 */ public int getPrePage(); }
package com.dongly.common.page; /** * 简单分页类 */ public class SimplePage implements Paginable { private static final long serialVersionUID = 1L; public static final int DEF_COUNT = 20; /** * 检查页码 checkPageNo * * @param pageNo * @return if pageNo==null or pageNo<1 then return 1 else return pageNo */ public static int cpn(Integer pageNo) { return (pageNo == null || pageNo < 1) ? 1 : pageNo; } public SimplePage() { } /** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */ public SimplePage(int pageNo, int pageSize, int totalCount) { setTotalCount(totalCount); setPageSize(pageSize); setPageNo(pageNo); adjustPageNo(); } /** * 调整页码,使不超过最大页数 */ public void adjustPageNo() { if (pageNo == 1) { return; } int tp = getTotalPage(); if (pageNo > tp) { pageNo = tp; } } /** * 获得页码 */ public int getPageNo() { return pageNo; } /** * 每页几条数据 */ public int getPageSize() { return pageSize; } /** * 总共几条数据 */ public int getTotalCount() { return totalCount; } /** * 总共几页 */ public int getTotalPage() { int totalPage = totalCount / pageSize; if (totalPage == 0 || totalCount % pageSize != 0) { totalPage++; } return totalPage; } /** * 是否第一页 */ public boolean isFirstPage() { return pageNo <= 1; } /** * 是否最后一页 */ public boolean isLastPage() { return pageNo >= getTotalPage(); } /** * 下一页页码 */ public int getNextPage() { if (isLastPage()) { return pageNo; } else { return pageNo + 1; } } /** * 上一页页码 */ public int getPrePage() { if (isFirstPage()) { return pageNo; } else { return pageNo - 1; } } protected int totalCount = 0; protected int pageSize = 20; protected int pageNo = 1; /** * if totalCount<0 then totalCount=0 * * @param totalCount */ public void setTotalCount(int totalCount) { if (totalCount < 0) { this.totalCount = 0; } else { this.totalCount = totalCount; } } /** * if pageSize< 1 then pageSize=DEF_COUNT * * @param pageSize */ public void setPageSize(int pageSize) { if (pageSize < 1) { this.pageSize = DEF_COUNT; } else { this.pageSize = pageSize; } } /** * if pageNo < 1 then pageNo=1 * * @param pageNo */ public void setPageNo(int pageNo) { if (pageNo < 1) { this.pageNo = 1; } else { this.pageNo = pageNo; } } }
package com.dongly.common.page; import java.util.List; /** * 列表分页。包含list属性。 */ @SuppressWarnings("serial") public class Pagination extends SimplePage implements java.io.Serializable, Paginable { public Pagination() { } /** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */ public Pagination(int pageNo, int pageSize, int totalCount) { super(pageNo, pageSize, totalCount); } /** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 * @param list * 分页内容 */ public Pagination(int pageNo, int pageSize, int totalCount, List<?> list) { super(pageNo, pageSize, totalCount); this.list = list; } /** * 第一条数据位置 * * @return */ public int getFirstResult() { return (pageNo - 1) * pageSize; } /** * 当前页的数据 */ private List<?> list; /** * 获得分页内容 * * @return */ public List<?> getList() { return list; } /** * 设置分页内容 * * @param list */ @SuppressWarnings("unchecked") public void setList(List list) { this.list = list; } }
相关推荐
本篇文章将深入探讨“分页 page 带数据库”的概念、实现方式以及其在初学者学习过程中的重要性。 一、分页概念 分页是将大数据集划分为若干小部分,每部分称为一页,用户每次只加载和查看一页的数据,而不是一次性...
本示例“DapperEx+datagridview+分页page.zip”聚焦于利用Dapper扩展库和DataGridView控件实现数据的分页显示,这在Web或桌面应用中十分常见。 Dapper是一个轻量级的.NET数据库访问库,它提供了简单而高效的SQL映射...
"一个分页page技术"的标题表明我们将讨论如何实现一个类似Google分页功能的解决方案。这个功能使得用户可以方便地浏览和导航大量数据,而不需要一次性加载所有内容,从而提高用户体验并减轻服务器负担。 描述中提到...
标题“分页page_struts2_.rar”暗示了这是一个关于Struts2框架中实现分页功能的示例或教程。Struts2是一个流行的Java web应用框架,它提供了强大的MVC(模型-视图-控制器)架构来组织和管理应用程序。在处理大量数据...
thinkphp视图分页Page类分页功能代码下载 利用viewmodel模型多表分页功能 利用D封装类。进行分页代码
bootstrap 分页 pagebootstrap 分页 pagebootstrap 分页 pagebootstrap 分页 pagebootstrap 分页 pagebootstrap 分页 page
分页查询时,可以用来封装对象, 实现分页查询////////
"page分页jsp页面以及后台代码"这个主题涵盖的是如何在Java Web环境中实现前端(jsp)和后端(通常为Servlet或Controller)的分页功能。以下将详细介绍这一过程。 首先,我们需要理解分页的基本概念。分页通常包括...
php万能分页源码附多种分页效果 所有样式 完整配置 pageft($total,$pageSize,1,1,1,5); pageft($total,$pageSize,0,1,1,5); pageft($total,$pageSize,0,0,1,5);...></div> class 中为分页样式,中间调用分页效果
Page分页java类 Page.getPageIndex(); Page.getPageCount(); Page.getPageSize(); ...
通用分页工具类PageInfo.java
java组件开发(27)ResponseUtils与FileDownloadServlet和分页PageSplit对象
在提供的"分页page示例"中,你可能会找到实现这些分页方式的具体代码和示例,包括PHP处理逻辑、HTML模板和可能的JavaScript代码。通过学习和研究这些示例,你可以更好地理解和应用这些分页技术到自己的项目中。 总...
page.jsp 分页 技术 java 实现 page
**jQueryPage分页技术详解** 在网页开发中,数据量庞大的时候,为了提高用户体验和页面加载速度,通常会采用分页技术。`jQueryPage` 是一个专门针对此需求设计的jQuery插件,它使得在网页中实现翻页和tab切换功能变...
可用于项目开发的分页查询,简单使用,步骤固定,可方便使用
完美的分页技术,可以很友好的实现分页技术,运用了很先进的技术呢
分页通常涉及到两个关键参数:当前页码($currentPage)和每页显示的数据数量($itemsPerPage)。通过这两个参数,我们可以计算出应该从数据库中获取哪些数据。 1. **查询总记录数** 在实现分页前,我们需要先获取...
业务代码中使用分页时,通常不需要显式地声明一个Page对象,可以直接在Mapper接口方法中获取分页信息。 5. Spring Boot使用方法 当前文档中提到Spring Boot待定使用方法,不过通常情况下,如果已经添加了依赖,可以...
8. **Spring Data JPA分页**:对于使用JPA和Hibernate的Java应用,Spring Data提供了一套便捷的分页API,如`Pageable`接口和`Page`对象,可以直接在Repository层实现分页查询。 9. **流式处理**:Java 8引入的...