web应用分页
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应用分页的更多相关文章
- 基于视觉的Web页面分页算法VIPS的实现源代码下载
基于视觉的Web页面分页算法VIPS的实现源代码下载 - tingya的专栏 - 博客频道 - CSDN.NET 基于视觉的Web页面分页算法VIPS的实现源代码下载 分类: 技术杂烩 2006-04 ...
- Java Web -【分页功能】详解
分页简介 分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示. 使用场景: 当取到的数据量达到一定的时候,就需要使用分页来进行数据分割. 当我们不使用分页功能的时候,会面 ...
- web的分页方法
web分页的三种方式,闲来无事总结一下. 1.使用前端表格插件进行分页 例如用bootstrap的拓展table组件,注意设置其分页属性时设置为"client", 即是 sideP ...
- (转)java web自定义分页标签
转载至http://liuxi1024.iteye.com/blog/707784 效果如图: 1.JSP规范1.1版本后增加了自定义标签库.实现自定义标签的步骤 (1)开发自定义标签处理类. (2) ...
- Java Web(十) 分页功能
分页 分页的使用非常普遍,现在一步步的把分页功能实现出来,先看看已经写好的效果: 该页面的所有数据都存放在一个javaBean对象(PageBean)里,每次访问该页面时,Serlvet就会把page ...
- Java Web(十一) 分页功能的实现
虽然现在有很多好用的框架,对分页进行支持,很简单的就把分页的效果做出来,但是如果自己手写是一个怎样的流程的?今天就来说说它,手动实现分页效果. --WH 一.分页的思路 首先我们得知道写分页代码时的思 ...
- web 打印分页技巧
page-break-after 和 page-break-before: page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是 ...
- Java Web之分页的实现(通用)
一.用到的工具类的封装 为了实现代码的重用性,我们将经常用到的代码封装到工具类中,以便在任何地方都可以调用 1.获取路径工具 在jsp页面中,我们经常会向Servlet发送请求,并通过反射,实现通过传 ...
- Pagination.js + Sqlite web系统分页
前端使用 jquery pagination.js 插件. 环境准备:jquery.js.pagination.js.pagination.css 附件下载:https://files.cnblogs ...
随机推荐
- SQL Server 2008收缩日志文件--dbcc shrinkfile参数说明
原文:SQL Server 2008收缩日志文件--dbcc shrinkfile参数说明 DBCC SHRINKFILE 收缩相关数据库的指定数据文件或日志文件大小. 语法 DBCC SHRINKF ...
- Android零基础入门第25节:最简单最常用的LinearLayout线性布局
原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...
- WP8.1使用HttpClient类
Uri uri = new Uri("http://www.cnsos.net/weburl/index.htm", UriKind.Absolute); HttpClient m ...
- C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
参考 [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 利用js来判断 namespac ...
- Mac App Store应用签名和pkg签名,查看签名
App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...
- xen学习(一)
添加镜像源 [root@xen xen]# cat /etc/yum.repos.d/xen.repo [xen] name=xenserver baseurl=http://mirrors.163. ...
- HDFS的几点改进
HDFS(Hadoop Distributed File System)是一个运行在商用机器上面的分布式文件系统,其设计思想来自于google著名的Google File System论文. HDFS ...
- Android UI中英文自动显示问题
最近做了一个项目,其中有个视频和图片需要添加各种水印(日期,地点,经纬度,用户ID,产品ID等)问题,而且水印还要支持中英文自动切换显示.功能设计和实现算是比较顺利.昨天测试部给了一个小Bug,那就是 ...
- ASP.NET Core Linux 发布
这篇博客参考了以下文章: 1.http://www.cnblogs.com/ants/p/5732337.html 2.http://www.linuxidc.com/Linux/2016-11/13 ...
- YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件
Delphi Windows IOCP 通讯模型封装,基于DIOCP.YxdIocp包含有支持大并发的TCP服务组件.HTTP服务组件.UDP服务组件.WebSocket服务组件,和TCP.UDP等基 ...