`

分页查询研究

 
阅读更多

分页的原理 :

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分页查询”项目中,我们将探讨如何在SSH2框架下实现数据库的分页查询功能,这对于处理大量数据的Web应用来说至关重要。 首先,我们需要了解分页查询的基本概念。分页查询是指在从数据库中检索数据时,...

    Mybatis插件下 的分页查询

    在Java开发领域,SSM(Spring、SpringMVC、Mybatis)框架组合是常见的Web开发解决...通过对这些文件的学习和研究,你可以更深入地了解如何在SSM框架下集成并使用PageHelper进行分页查询,提升你的Java Web开发技能。

    Hibernate 多表连接分页查询示范项目

    总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...

    SSM框架实现分页查询例子

    Project可能包含了一个完整的项目结构,包括Spring配置文件、MyBatis配置、Mapper接口、XML文件、Service和Controller代码,以及相关的测试用例,读者可以通过下载并研究这个项目,进一步加深对SSM分页查询的理解和...

    基于SSH架构的分页查询标签的研究与实现

    ### 基于SSH架构的分页查询标签的研究与实现 #### 一、引言 在Web应用开发中,特别是管理信息系统(MIS)中,经常需要处理大量数据的查询和展示工作。当数据量非常大时,为了提高用户体验和减轻服务器负担,分页...

    图书分页查询

    在IT行业中,图书分页查询是一项重要的功能,尤其在大型数据集展示时,它使得用户能够有效地浏览和检索大量的图书信息。在这个场景下,我们主要关注如何设计和实现一个高效、用户友好的图书分页查询系统。下面将详细...

    基于Java-Web的分页技术研究.pdf

    本文研究了基于Java-Web的分页技术,这对于提高Web应用的信息检索效率和用户体验具有重要意义。分页显示技术允许用户通过分块的方式查看大量数据,避免了数据量过大而导致的性能下降和用户体验下降的问题。 在引言...

    JQuery,ajax,hibernate+spring,分页查询.rar

    `描述`中的“Hibernate+spring的一个简单分页实现”意味着这里有一个例子展示了如何在Spring框架中结合Hibernate进行分页查询。分页查询对于处理大量数据至关重要,因为它允许用户以更可管理的方式浏览结果,避免一...

    数据分页查询控件(含源码与Demo).rar

    数据分页查询控件在IT领域中是一种常见且重要的组件,尤其在开发数据库驱动的应用程序时,用于处理大量数据的展示。"数据分页查询控件(含源码与Demo).rar" 提供了实现这一功能的具体代码示例和演示项目,这对于...

    案例实战-SpringBoot整合Redis实现缓存分页数据查询

    但可以考虑对分页查询的结果进行优化,比如使用Redis的有序集合(Sorted Set)存储分页索引,以便快速定位到特定分页的数据。 总的来说,通过Spring Boot和Redis的整合,我们可以在不牺牲数据新鲜度的前提下,提高...

    分页查询例子

    在IT行业中,分页查询是数据库操作中一个非常常见的需求,特别是在处理大数据量时,它能够有效地提高系统性能,减少不必要的资源消耗。本篇将基于标题"分页查询例子"和提供的`MessageModelService2.java`文件,深入...

    基于JSP分页技术的研究

    ##### 4.1 分页查询优化 为了提高查询效率,可以考虑在数据库层面对查询语句进行优化。例如,使用LIMIT和OFFSET关键字来限制返回的结果集大小,只查询当前页面所需的数据行,而不是一次性查询所有数据。这种方法...

    dwz .net 简单分页 表头排序、查询

    【标题】:“DWZ.NET 简单分页、表头排序及查询”是指在.NET开发环境中使用DWZ(Dynamic Web Zone)框架实现的一种高效、便捷的网页数据展示功能。DWZ.NET是一款基于Ajax的前端交互框架,尤其适用于构建富交互性的...

    超强php分页打包 通用分页 万能分页 ajax分页 google分页

    通过学习和研究这些示例,你可以更好地理解和应用这些分页技术到自己的项目中。 总的来说,这个压缩包为你提供了一个全面的PHP分页解决方案集合,涵盖了从基础到高级,从静态到动态的各种场景,是提升项目质量的...

    利用SQL和DataGridView实现分页查询.pdf

    在数据库管理与信息处理领域中,分页查询是一种常用的技术手段,特别是在处理大数据量时,其作用尤为突出。为了提高数据查询的效率,减少服务器的压力,开发者会采用分页查询的方式,来分批次处理和返回查询结果。...

    基于MySql多表分页查询优化技术.pdf

    作者韩兵、王照清和廖联军深入研究了 MySql 中多表分页查询的常见问题,特别是针对常用的表 union 操作。他们发现,当数据量大时,union 操作会消耗大量时间,成为影响数据库性能的关键因素。为了解决这一问题,他们...

    jsp+servlet的demo(分页,查询,增删改查)

    **分页查询** 是Web应用中常见的需求,尤其在处理大量数据时,分页可以提高用户体验。在本项目中,可能通过Servlet接收页码和每页数量的参数,然后使用SQL的LIMIT和OFFSET或者其他的分页机制从数据库中提取对应页的...

    .net自定义控件实现分页查询

    本话题将探讨如何在.NET环境中实现一个自定义控件来进行分页查询,这将极大提升用户体验,使数据加载更为高效。分页查询是大型数据集处理的关键技术,它允许用户逐步浏览大量数据,而不会一次性加载所有内容,从而...

    分页查询

    在IT行业中,分页查询是一项基础且至关重要的技术,尤其在大数据量的Web应用中,它可以帮助用户有效地浏览和管理信息。本篇文章将深入探讨分页查询的概念、原理以及实现方式,结合源码分析和实用工具,以帮助你更好...

Global site tag (gtag.js) - Google Analytics