分页的原理 :
client:
用户在页面上选择需要浏览的页面,并且将当前选择的页码pageNo和预期每页显示的数量pageSize传递到服务器。
server:
1、服务器接受到数据之后 计算出数据的总记录数量
2、并且根据 用户传递过来的pageNo和pageSize结合总数据量 计算出服务器对应的数据量
3、数据库返回查询的结果。
4、服务器将分页结果(当前分页数记录、上一页、下一页、总数据量)传递给用户。
/**
* 用户运行
*/
public static void client() {
for (int i = 1; i < 10; i++) {
System.out.println();
System.out.println("-----start------");
System.out.println("选择的参数: ");
int pagNo = i;
int pagSize = 50;
System.out.println("用户选择第:" + pagNo + "页");
System.out.println("在选择页中 用户想查询的数据量:" + pagSize + "条");
// 调用服务器
Map map = server(pagNo, pagSize);
if (map != null) {
System.out.println("当前是:" + map.get("pageNo") + "页");
System.out.println("上一页:" + map.get("prePage"));
System.out.println("下一页:" + map.get("nextPage"));
System.out.println("最后一页:" + map.get("totalPage"));
System.out.println("总数据量:" + map.get("totalCount"));
} else {
System.out.println("没有第"+pagNo+" 页面 ,对不起不能查询了 ");
}
System.out.println();
System.out.println("---------end--------");
}
}
模拟一个客户端 将 pagNo和pagSize两个参数 传递给服务器
/**
* 服务器分页
*
* @param pagNo
* 当前选择的页
* @param pagSize
* 当前页需要获取的数据量
* @param count
* 从数据量
*/
public static Map server(int pagNo, int pagSize) {
// 1 计算这张表中总数据量(假设是 34条 一般就是查询count(*) 不带分页的值)
int count = 34;
Pagination pg = new Pagination(-1, pagSize, count);
System.out.println();
System.out.println("--server运行----");
if (pagNo > pg.getTotalPage()) {
return null;
}
// 2、将下面两个参数 传到数据库
System.out.println("在数据表需要的参数: ");
System.out.println("开始索引:" + pg.getFirstResult());
System.out.println("在数据表中 当前需要获取的数据量:" + pg.getPageSize());
System.out.println();
// 程序完毕之后需要获取的数据
System.out.println("在数据表中 当前实际获取的数据量:" + pg.getTotal());
System.out.println("总数据量:" + pg.getTotalCount());
System.out.println();
Map map = new HashMap();
map.put("pageNo", pg.getPageNo());
map.put("prePage", pg.getPrePage());
map.put("nextPage", pg.getNextPage());
map.put("totalPage", pg.getTotalPage());
map.put("totalCount", pg.getTotalCount());
return map;
}
服务器接收后进行处理传递给客户端。
分享到:
相关推荐
在这个“ssh2分页查询”项目中,我们将探讨如何在SSH2框架下实现数据库的分页查询功能,这对于处理大量数据的Web应用来说至关重要。 首先,我们需要了解分页查询的基本概念。分页查询是指在从数据库中检索数据时,...
在Java开发领域,SSM(Spring、SpringMVC、Mybatis)框架组合是常见的Web开发解决...通过对这些文件的学习和研究,你可以更深入地了解如何在SSM框架下集成并使用PageHelper进行分页查询,提升你的Java Web开发技能。
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...
Project可能包含了一个完整的项目结构,包括Spring配置文件、MyBatis配置、Mapper接口、XML文件、Service和Controller代码,以及相关的测试用例,读者可以通过下载并研究这个项目,进一步加深对SSM分页查询的理解和...
### 基于SSH架构的分页查询标签的研究与实现 #### 一、引言 在Web应用开发中,特别是管理信息系统(MIS)中,经常需要处理大量数据的查询和展示工作。当数据量非常大时,为了提高用户体验和减轻服务器负担,分页...
在IT行业中,图书分页查询是一项重要的功能,尤其在大型数据集展示时,它使得用户能够有效地浏览和检索大量的图书信息。在这个场景下,我们主要关注如何设计和实现一个高效、用户友好的图书分页查询系统。下面将详细...
本文研究了基于Java-Web的分页技术,这对于提高Web应用的信息检索效率和用户体验具有重要意义。分页显示技术允许用户通过分块的方式查看大量数据,避免了数据量过大而导致的性能下降和用户体验下降的问题。 在引言...
`描述`中的“Hibernate+spring的一个简单分页实现”意味着这里有一个例子展示了如何在Spring框架中结合Hibernate进行分页查询。分页查询对于处理大量数据至关重要,因为它允许用户以更可管理的方式浏览结果,避免一...
数据分页查询控件在IT领域中是一种常见且重要的组件,尤其在开发数据库驱动的应用程序时,用于处理大量数据的展示。"数据分页查询控件(含源码与Demo).rar" 提供了实现这一功能的具体代码示例和演示项目,这对于...
但可以考虑对分页查询的结果进行优化,比如使用Redis的有序集合(Sorted Set)存储分页索引,以便快速定位到特定分页的数据。 总的来说,通过Spring Boot和Redis的整合,我们可以在不牺牲数据新鲜度的前提下,提高...
在IT行业中,分页查询是数据库操作中一个非常常见的需求,特别是在处理大数据量时,它能够有效地提高系统性能,减少不必要的资源消耗。本篇将基于标题"分页查询例子"和提供的`MessageModelService2.java`文件,深入...
##### 4.1 分页查询优化 为了提高查询效率,可以考虑在数据库层面对查询语句进行优化。例如,使用LIMIT和OFFSET关键字来限制返回的结果集大小,只查询当前页面所需的数据行,而不是一次性查询所有数据。这种方法...
【标题】:“DWZ.NET 简单分页、表头排序及查询”是指在.NET开发环境中使用DWZ(Dynamic Web Zone)框架实现的一种高效、便捷的网页数据展示功能。DWZ.NET是一款基于Ajax的前端交互框架,尤其适用于构建富交互性的...
通过学习和研究这些示例,你可以更好地理解和应用这些分页技术到自己的项目中。 总的来说,这个压缩包为你提供了一个全面的PHP分页解决方案集合,涵盖了从基础到高级,从静态到动态的各种场景,是提升项目质量的...
在数据库管理与信息处理领域中,分页查询是一种常用的技术手段,特别是在处理大数据量时,其作用尤为突出。为了提高数据查询的效率,减少服务器的压力,开发者会采用分页查询的方式,来分批次处理和返回查询结果。...
作者韩兵、王照清和廖联军深入研究了 MySql 中多表分页查询的常见问题,特别是针对常用的表 union 操作。他们发现,当数据量大时,union 操作会消耗大量时间,成为影响数据库性能的关键因素。为了解决这一问题,他们...
**分页查询** 是Web应用中常见的需求,尤其在处理大量数据时,分页可以提高用户体验。在本项目中,可能通过Servlet接收页码和每页数量的参数,然后使用SQL的LIMIT和OFFSET或者其他的分页机制从数据库中提取对应页的...
本话题将探讨如何在.NET环境中实现一个自定义控件来进行分页查询,这将极大提升用户体验,使数据加载更为高效。分页查询是大型数据集处理的关键技术,它允许用户逐步浏览大量数据,而不会一次性加载所有内容,从而...
在IT行业中,分页查询是一项基础且至关重要的技术,尤其在大数据量的Web应用中,它可以帮助用户有效地浏览和管理信息。本篇文章将深入探讨分页查询的概念、原理以及实现方式,结合源码分析和实用工具,以帮助你更好...