后端实现分页功能

前端查询一个列表时,后台可能会返回很多条记录,前端的一页可能空间有限,需要分多次页面进行展示。一种方式就是:在前端发给后台的接口指定查询起始笔数和要查询的记录条数,每次翻页的时候都重新发给后台要查询的起始笔数和记录条数。
例如一个表User,字段分别为:NAME、AGE、SEX

数据库查询语句为:

select NAME, AGE, SEX from
(select row_number() over() as NUM, * from USER where age>20) 
where  end > NUM >= begin

row_number() over()为每一条语句编一个编号。begin为查询起始笔数,end 为查询截止笔数。
例如满足age>20条件的记录有35条,但前端一次只能显示10条记录。那么前端第一次发给后台两个参数:起始笔数为1,查询记录为10条。后台处理后begin=1,end =1+10=11,然后查询此期间的记录返回给前端。
前端翻页时,需要继续查询数据库,前端发给后台同样两个参数:起始笔数为11,查询记录10条,后天处理begin=11,end=11+10=21,然后把此期间的记录返回给前端。
当前端继续翻页时,同样把两个参数发给后台:起始笔数21,查询记录为10条,后台处理后,begin=31,end=31+10=41,那么后台把此期间的记录返回给前端,但此次只有5条记录,所以最后一次只返回给了前端5条数据。
分页查询完毕。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值