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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见的几种分页--总结在于坚持相关的知识,希望对你有一定的参考价值。

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

   目前在一些商品展示或者是信息展示时,由于展示的东西多,而使一个页面没法完全展示态度信息,此时就需要进行对信息进行分页处理展示了。针对不同的数据库,分类的写法是不一样的,在此总结一些常见的分页,如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数据库的分页,希望继续关注,共同学习。

 

以上是关于常见的几种分页--总结在于坚持的主要内容,如果未能解决你的问题,请参考以下文章

sqlalchemy和flask-sqlalchemy的几种分页方法

SQL分页的几种方法

phalcon几种分页方法

几种分页存储过程

Sql Server多种分页性能的比较

MyBatis的三种分页方式,你用过几种?