关于分页

为什么需要分页

1. 方便用户查看,提高客户端体验

2. 减轻数据库资源管理器的开销,提高程序运行速度

分页查询的本质

查看某一页就返回这一页的数据

设计分页时的几个变量

page:页码

pageSize:  每页显示记录的数量

totalPage: 总页数  (必须知道总记录数和每页要显示的记录数)

totalCount:  总记录数 = select count(id) from 表名

因此:

totalPage可以利用以下公式得知:

if(totalCount%pageSize==0)

{totalPage = totalCount/pageSize;}

else{totalPage = totalCount/pageSize + 1;}

 

hasPreviousPage  :   是否显示上一页  (可根据当前页判断

hasNextPage   :     是否显示下一页  (可根据总页数判断

filter::       要过滤的记录数(,查询返回的记录中不包含的记录)  

该变量的值又可根据以下公式得知:

filter= pageSize*(page - 1) ;

(假定每页5条记录,即:第一页:过滤前0,第二页过滤前5条,第三页过滤前10.........)

_______________________________________________________________________________

常见数据库分页语句:

1. Oracle

假设每页5条记录:

select * from (select e.*,rownum k from emp e where 条件】 )where k>(页码-1)*5 and k<=页码*5

2. MySQL

//假设每页10条记录:

int pageSize=10;

int filter= pageSize* (page-1)

select * from 表名 where 主键 is not null limit filter,pageSize

3. SQLServer

假设每页10条记录:

int pageSize=10;

int filter= pageSize* (page-1)

"select top pageSize * from Users where id not in(select top " + filter+ " id from Users) order by id desc";

 

_________________________________________________________

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值