JDBC分页

 jdbc分页

1. 什么是分页

在数据量较大的情况下,我们会数据分作多页显示,让用户浏览起来更加的方便,可以根据页码去翻阅每一页的数据

 

2. 如何实现分页的分析

说到分页,一般都会立刻想到先将数据存入集合,再将数据分作多页显示,这样的做法固然可以,可是一旦数据量较大的话就会造成内存的溢出,再者说,大部分用户的浏览习惯都是只看前三页,如果数据总共有100页,那就完全没必要将数据全部从数据库中查出来了,所以一个普遍的实现方式都是根据用户需要浏览的页码,从数据库中查询一页的数据供用户浏览

 

分页的目的就是为了更加合理地做页面显示,所以首先要解决的就是页面需要显示哪些数据

通常来讲,页面上会显示当前页的信息、当前第几页、总共多少页、页码、上一页、下一页等信息

我们可以使用一个 Page 对象来封装页面需要实现的数据

service中计算出 Page 对象所需的数据

Service中需要的一些来自于数据库的数据就找 Dao 索取

 

3. 分页的具体实现

1)根据需求设计Page对象

2dao的实现

两个方法

int getTotalRecord(); // 获得总记录数

List getPageData(int start, int len);  // 获得分页数据

3service 实现

Page getPage(int pageNum);// 计算分页数据

4Servlet 获得页面提交的 pageNum

service计算出分页数据  Page

转发给jsp 做分页显示

 

 

 

--mssqlserver的分页查询语句:

select top 10 * from t where id not in (select top 20 id from t order by id ) order by id  

--或者

select top 10 * from t where id in (select top 20 id from t order by id) order by id desc  

--mysql的分页查询语句:

select * from t order by id limit 20,10  

--oracle的分页查询语句:

select * from (select rownum r,* from t where r<=30) where r>20  

 

原文地址:https://www.cnblogs.com/qq809306794/p/3183335.html