常见的几种分页--总结在于坚持

由于近期自己工作不是太忙,总结了一些知识,给大家分享。

  目前在一些商品展示或者是信息展示时,由于展示的东西多,而使一个页面没法完全展示态度信息,此时就需要进行对信息进行分页处理展示了。针对不同的数据库,分类的写法是不一样的,在此总结一些常见的分页,如MySQL中的分页、Oracle中的分页还有EasyUi中的分页如何书写实现。

1.Oracle的分页实现

下边结合自己以前写的小demo(采用JDBC和struts2写的),大概的介绍一下自己是如何实现分页。对oracle的分页采用的是rownum(伪列)。

(1)dao层的设计

select * from (select rownum rn, id,name,mobile,telphone,email,city,birthday,imagepath from person)tb1 where tb1.rn between ? and ?

这条sql主要作用:获取每页联系人。其中begin是每页显示的起始条数,而end表示每页结束的条数。

下边是该方法。currentPage 表示当前页(码),pageSize 表示每页需要显示的条数。然后根据关系可以算出当前页的起始条数(begin )和结束的条数(end )。

例如:设置每页显示5条数据(即pageSize = 5),获取第2页的信息(即currentPage = 2)。

可以计算出 begin = (2-1)*5+1=6, end=2*5=10。即第二页显示第6条到第10条信息。

同时还需要计算出总共的信息条数,即总数。

sql语句:select count(*) from person

主要作用:计算总共有几个人。count是oracle的聚合函数,可以计算总数。

下边的方法主要是计算出总页数。

(2)service层的设计

service只是调用dao层对应的方法,返回值。

(3)action层的设计

设置初始化参数。

分页查询方法:

(4)前端页面设计

(5)实现结果

第一页显示

尾页显示

总结:以上就是实现oracle分页的全过程,只要分页的几个变量理解透,其实还是很好做的。由于技术是相通的,不管你换成mybatis+spring还是其它,只要使用的是oracle数据库,其分页大多是相似的。希望上述内容可以帮助到他人,共同进步。后期还会继续写mysql数据库的分页,希望继续关注,共同学习。

时间: 2024-08-10 00:07:18

常见的几种分页--总结在于坚持的相关文章

Sql Server 常见的几种分页方式

⒈offset fetch next方式[SqlServer2012及以上版本支持][推荐] 1 select * from T_User 2 order by id 3 offset 5 rows /*(页数-1) * 条数 */ 4 fetch next 5 rows only /* 条数 */ ⒉row_number() over()方式 1 select * from 2 (select *,row_number() over(order by id) as orderId from T

Java中常见的几种RuntimeException

一般面试中java Exception(runtimeException )是必会被问到的问题常见的异常列出四五种,是基本要求.更多的....需要注意积累了 常见的几种如下: NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常.IllegalArgumentException - 传递非法参数异常.ArithmeticException - 算术运算异常ArrayStoreException - 向数组中存放与声明类型不兼容对象

SQL Server 中的三种分页方式

USE tempdb GO SET NOCOUNT ON --创建表结构 IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassB GO CREATE TABLE ClassB(ID INT PRIMARY KEY, Name VARCHAR(16), CreateDate DATETIME, AID INT, Status INT) CREATE INDEX IDX_CreateDate ON ClassB(CreateDate)

Python中执行系统命令常见的几种方法--转载

Python中执行系统命令常见的几种方法 Python中执行系统命令常见的几种方法有: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执行,结果直接打印出来 例如: >>> import os >>> os.system('ls') chk_err_log.py CmdTool.log  install_log.txt  install_zabbix.sh  manage_deploy.sh  MegaSA

一种分页的实现

以下代码是一种分页的实现.分别是文件page.php和page.css. 分页的纠结点在于分页条中省略号的显示. 实现的基本逻辑是: 1,接收浏览器端传过来的想要显示的页码数 $page. $page = $_GET['p']. 2,根据页码数 $page 以及固定的每页显示数 $pageSize 从数据库中取数据. $sql = "SELECT * FROM books LIMIT ".(($page-1)*$pageSize).",10"; 3,填充表格. 4,

查询速度慢的原因很多,常见如下几种

1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有 创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7. 锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必 要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1. 把数据.日志.索引放到不同

Android常见的三种内部类

在java里类中再定义类,这种在其他类内部类叫做内部类,在Android开发里最常见有三种内部类分别是(成员内部类.方法内部类.匿名内部类) 一.成员内部类 1 public class Test { 2 //不对外开放的 3 class memberInnerClass{ 4 public void memberInner(){ 5 System.out.println("成员内部类"); 6 } 7 } 8 } 编译一下,我们看到目录中出现了两个class文件在我们的工作目录里,可

常见的三种Web服务架构

常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing Architectures 我们已经给出了“不同Web服务会有不同做法”的两个主要问题,现在要据此对不同风格的Web服务进行分类了.根据我的研究,常见的Web服务架构主要有三种:REST式架构.RPC式架构和REST-RPC混合架构.下面依次对它们进行介绍. REST式.面向资源的架构 RESTf

Java中常见的5种WEB服务器介绍

这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问.开发Java Web应用所采用的服务器主要是与JSP/Servlet兼容的Web服务器,比较常用的有Tomcat.Resin.JBoss.WebSphere 和 WebLogic 等,下面将分别进行介绍. Tomc