iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java分页简介_动力节点Java学院整理
  • 735
分享到

Java分页简介_动力节点Java学院整理

java分页ava 2023-05-31 07:05:03 735人浏览 薄情痞子
摘要

什么是分页技术分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很

什么是分页技术

分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很类似.

分页的意义

分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢?如果数据量少的话当然可以.但是对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数据一古脑的扔给客户,即使客户能够忍受成千上万足够让人眼花缭乱的表格式数据,繁忙的网络,紧张的服务器也会提出它们无声的抗议,甚至有时会以彻底的罢工作为终结.这个结局有点像古代为所欲为的暴君和他忍无可忍的臣民之间的故事.

程序员不是暴君,他希望程序使生活变得更好而不是更糟.考虑到企业信息系统多是三层甚至更多层架构的事实,程序员在向客户展示数据时都应该采取分页的形式.如果他不想被抱怨淹没或是半夜被电话惊醒的话.

从请求发起到返回数据的整个过程

现在你已经下定决心想要分页了,在动手书写代码之前,先让我们回想一下,在典型的三层架构中,从请求发起到返回数据的整个过程.如下所示:

Java分页简介_动力节点Java学院整理 

在哪里进行分页

从上面的图中我们可以观察得知,在sql语句处理完毕后,数据库,WEBApplication和Browser都能进行分页,那在哪里分页好呢?

判断的标准是速度,显而易见,数据库服务器,Web应用服务器和客户端之间是网络,如果网络传递的数据量越少,则客户端获得响应的速度越快.而且一般来说,数据库服务器和Web应用服务器的处理能力一般比客户端要强很多.从这两点来看,在客户端分页的方案是最不可取的.

其次就剩下了在Web服务器端分页和在数据库端分页两种方式了,如果选择在Web服务器端分页的话,大部分的被过滤掉的数据还是被传输到了Web应用服务器端,与其这样还不如直接在数据库端进行分页.

因此比较好的分页做法应该是每次翻页的时候只从数据库里检索页面大小的块区的数据。这样虽然每次翻页都需要查询数据库,但查询出的记录数很少,网络传输数据量不大,如果使用连接池更可以略过最耗时的建立数据库连接过程。而在数据库端有各种成熟的优化技术用于提高查询速度,比在应用服务器层做缓存有效多了。

分页的SQL语句

如果我们是通过JDBC的方式访问数据库,那么就有必要根据数据库类型采取不同的SQL分页语句,对于MySQL数据库,我们可以采用limit语句进行分页,对于oracle数据库,我们可以采用rownum的方式进行分页.

(1)Mysql的Limit m,n语句

Limit后的两个参数中,参数m是起始下标,它从0开始;参数n是返回的记录数。我们需要分页的话指定这两个值即可

(2)Oracle数据库的rownum

在Oracle数据库中,分页方式没有mysql这样简单,它需要依靠rownum来实现.
Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予.因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询.

SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40)WHERE RN >= 21

--结束END--

本文标题: Java分页简介_动力节点Java学院整理

本文链接: https://www.lsjlt.com/news/224217.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java分页简介_动力节点Java学院整理
    什么是分页技术分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很...
    99+
    2023-05-31
    java 分页 ava
  • Java Map简介_动力节点Java学院整理
    Map简介将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。 Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关...
    99+
    2023-05-31
    java map ava
  • Java Set简介_动力节点Java学院整理
    1. 概述           Java 中的Set和正好和数学上直观的集(set)的概念是相同的。Set最大的特性就是不允许在其中存放的元素是重复的...
    99+
    2023-05-31
    java set ava
  • JDBC简介_动力节点Java学院整理
    前言:什么是JDBC维基百科的简介:  Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。J...
    99+
    2023-05-31
    jdbc 简介 ava
  • Ehcache简介_动力节点Java学院整理
    使用Spring的AOP进行整合,可以灵活的对方法的返回结果对象进行缓存。CachingFilter功能可以对HTTP响应的内容进行缓存。1、主要特性     1. 快速.  &n...
    99+
    2023-05-31
    ehcache ava hcache
  • Java中Random简介_动力节点Java学院整理
    Java中存在着两种Random函数:一、java.lang.Math.Random;  调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返...
    99+
    2023-05-31
    java random ava
  • Java中的FilterOutputStream 简介_动力节点Java学院整理
    FilterOutputStream 介绍FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintSt...
    99+
    2023-05-31
    java filteroutputstream ava
  • Java Socket编程简介_动力节点Java学院整理
    对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有So...
    99+
    2023-05-31
    java socket 编程
  • servlet之session简介_动力节点Java学院整理
    Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,注意是默认情况下,一个浏览器独占一个session,由于session为用户浏览器独享,所以用户在访问服务器的web资源时...
    99+
    2023-05-31
    servlet session ava
  • Java中的Web MVC简介_动力节点Java学院整理
    Web开发中的请求-响应模型:在Web世界里,具体步骤如下:Web浏览器(如IE)发起请求。Web服务器(如Tomcat)接收请求,处理请求(比如用户新增,则将把用户保存一下),最后产生响应(一般为html)。web服务器处理完成后,返回内...
    99+
    2023-05-31
    web mvc 简介
  • JVM(Java虚拟机)简介(动力节点Java学院整理)
    一、概要Java虚拟机(Jvm)是什么?Java虚拟机是用来干什么的?Java虚拟机它的体系结构是什么样子的?Java虚拟机在工作做扮演什么角色?Java虚拟机在运行时数据区?二、Jvm基础概念Java虚拟机(Jvm)是可运行Java代码的...
    99+
    2023-05-31
    java jvm 虚拟机
  • mybatis简介与配置_动力节点Java学院整理
    MyBatis简介MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口...
    99+
    2023-05-31
    mybatis 配置 ava
  • Struts1简介和入门_动力节点Java学院整理
    本文为大家分享了Struts1简介和入门的学习资料,供大家参考,具体内容如下1. 框架框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。也就是说框架是一个半成品的应用程序。我们所面对...
    99+
    2023-05-31
    struts1 简介 入门
  • ByteArrayInputStream简介和使用_动力节点Java学院整理
    ByteArrayInputStream 介绍ByteArrayInputStream 是字节数组输入流。它继承于InputStream。它包含一个内部缓冲区,该缓冲区包含从流中读取的字节;通俗点说,它的内部缓冲区就是一个字节数组,而Byt...
    99+
    2023-05-31
    bytearrayinputstream java npu
  • Java异常简介和架构_动力节点Java学院整理
    Java异常简介  Java异常是Java提供的一种识别及响应错误的一致性机制。  Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, wh...
    99+
    2023-05-31
    java 异常 ava
  • Java中的PrintWriter 介绍_动力节点Java学院整理
    PrintWriter 介绍PrintWriter 是字符类型的打印输出流,它继承于Writer。PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写...
    99+
    2023-05-31
    java printwriter ava
  • Java 中的 BufferedWriter 介绍_动力节点Java学院整理
    BufferedWriter 介绍BufferedWriter 是缓冲字符输出流。它继承于Writer。BufferedWriter 的作用是为其他字符输出流添加一些缓冲功能。BufferedWriter 函数列表 // 构造函数...
    99+
    2023-05-31
    java bufferedwriter buf
  • Java死锁_动力节点Java学院整理
    死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。在这里我已写好一个简单的程序,它将会引起死锁方案然后我们就会明白如何分析它。Java死锁范例ThreadDeadlock.javapack...
    99+
    2023-05-31
    java 死锁 ava
  • Java多态(动力节点Java学院整理)
    什么是多态 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象...
    99+
    2023-05-31
    java 多态 ava
  • ObjectInputStream 和 ObjectOutputStream 介绍_动力节点Java学院整理
    ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。创建“文件输出流”对应的ObjectOutputStream对象,该ObjectOutputStream对象能提供对...
    99+
    2023-05-31
    objectinputstream objectoutputstream npu
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作