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

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

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