1. 场景描述

目前大部分的应用程序中都会用到分页功能,以便减少前端浏览器及后台服务器的压力,以及其他方面的考虑。

(1)分页从概念上可分为逻辑分页和物理分页,逻辑分页主要是通过应用程序(前端或者后端)来分页,是从数据库中获取查询全部数据,然后通过java代码处理或前端处理后,分页展示给使用用户。

(2)物理分页,物理分页是指分页操作是在数据库完成的,按照数据库关键字进行分页,应用程序中按照数据库分页关键字进行sql拼接后执行查询,完成分页功能。

2. 解决方案

2.1 逻辑分页

逻辑分页就不多说,不同的项目不一样,原理就是从数据库获取数据后,根据业务逻辑进行处理而已。

2.2 物理分页

不同的数据库使用的分页关键及方式不一样,简单介绍下常用的Oracle、mysql及postgresql怎么进行的分页。

2.2.1 mysql 分页

(1) 分页语法

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

(2) 分页说明

select * from table limit 0,10;  --从第0条开始,查询10条数据。
select * from table limit 10,10; --从第10条开始,查询10条数据。 ---一般常用的
select * from table limit 10;
相当于
select * from table limit 0,10;
2.2.2 postgresql分页。

(1) 分页语法

select * from persons limit  A  offset  B;

(2) 分页说明

A就是你需要显示多少行;

B就是查询的起点位置。

2.2.3 oracle分页

(1) 分页语法

select rownum,t.* from F_KPI544_FEE_DETL t where rownum <10;

(2) 分页说明

oracle是使用rownum进行的分页,rownum只是一个伪列,每一张表中都有。

2.3 方案说明

(1)本文只是大概介绍了下分页原理及各个数据库如何分页,分页中还存在其他的问题,比如mysql数据库分页offset越大,效率越低等问题就不详说了。

(2)目前Java应用中常用的ORM框架-Mybatis,可以使用插件pagerHelper进行分页,支持oracle、mysql、postgresql等数据库。


web应用分页的更多相关文章

  1. 基于视觉的Web页面分页算法VIPS的实现源代码下载

    基于视觉的Web页面分页算法VIPS的实现源代码下载 - tingya的专栏 - 博客频道 - CSDN.NET 基于视觉的Web页面分页算法VIPS的实现源代码下载 分类: 技术杂烩 2006-04 ...

  2. Java Web -【分页功能】详解

    分页简介 分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示. 使用场景: 当取到的数据量达到一定的时候,就需要使用分页来进行数据分割. 当我们不使用分页功能的时候,会面 ...

  3. web的分页方法

    web分页的三种方式,闲来无事总结一下. 1.使用前端表格插件进行分页 例如用bootstrap的拓展table组件,注意设置其分页属性时设置为"client", 即是 sideP ...

  4. (转)java web自定义分页标签

    转载至http://liuxi1024.iteye.com/blog/707784 效果如图: 1.JSP规范1.1版本后增加了自定义标签库.实现自定义标签的步骤 (1)开发自定义标签处理类. (2) ...

  5. Java Web(十) 分页功能

    分页 分页的使用非常普遍,现在一步步的把分页功能实现出来,先看看已经写好的效果: 该页面的所有数据都存放在一个javaBean对象(PageBean)里,每次访问该页面时,Serlvet就会把page ...

  6. Java Web(十一) 分页功能的实现

    虽然现在有很多好用的框架,对分页进行支持,很简单的就把分页的效果做出来,但是如果自己手写是一个怎样的流程的?今天就来说说它,手动实现分页效果. --WH 一.分页的思路 首先我们得知道写分页代码时的思 ...

  7. web 打印分页技巧

     page-break-after 和 page-break-before: page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是 ...

  8. Java Web之分页的实现(通用)

    一.用到的工具类的封装 为了实现代码的重用性,我们将经常用到的代码封装到工具类中,以便在任何地方都可以调用 1.获取路径工具 在jsp页面中,我们经常会向Servlet发送请求,并通过反射,实现通过传 ...

  9. Pagination.js + Sqlite web系统分页

    前端使用 jquery pagination.js 插件. 环境准备:jquery.js.pagination.js.pagination.css 附件下载:https://files.cnblogs ...

随机推荐

  1. [原译]实现IEnumerable接口&理解yield关键字

    原文:[原译]实现IEnumerable接口&理解yield关键字 著作权声明:本文由http://leaver.me 翻译,欢迎转载分享.请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢 ...

  2. linux自动挂载远程网盘到本地

    sudo vim /etc/fstab  添加如下内容 //192.168.1.110/MyFiles /path/to/mount cifs username=adminz,password=pas ...

  3. WPF 使用Trigger遇到的问题

    1. 在style中使用trigger无效的场景 原因是直接在对象上设置值将导致style中的值无效,去掉TextBlock对象的Foreground后,Trigger将正常工作 <TextBl ...

  4. LINQ学习笔记(二)

    上一篇是根据百度百科写的随便,同时也纠正我对LINQ的看法,因为首次接触LINQ是使用EF对数据库数据的操作. 所以误以为它操作数据库的一种新手段. LINQ语言集成查询是一组技术的名称,这些技术建立 ...

  5. Creating a Linux Daemon (service) in Delphi

    With the introduction of the Linux target for Delphi, a wide range of possibilities are opened up to ...

  6. Git 常用命令大全(转)

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  7. hadoop之hive&hbase互操作

    大家都知道,hive的SQL操作非常方便,但是查询过程中需要启动MapReduce,无法做到实时响应. hbase是hadoop家族中的分布式数据库,与传统关系数据库不同,它底层采用列存储格式,扩展性 ...

  8. SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)

    1.需求描述 我们知道Windows Cluster 都是多节点的,当虚拟IP漂移的时候,一般都是从一个节点漂移到另外一个节点.如果可以及时捕捉到旧节点信息是什么.新节点信息是什么对我们提供高可用的数 ...

  9. unity中实现物体在一定角度范围内来回旋转

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class Rotate : ...

  10. Spring 之Aop实现日志记录

    Aop实现见代码,简单demo实现 package com.idcos.automate.config; import com.idcos.automate.dal.auto.dao.dcos.Dco ...