java------手动实现分页查询功能(详情)

之前用PageHelper实现了分页查询的功能,因为PageHelper是个插件,当然方便实现查询,在实现查询的时候也不能忘了分页的基本业务逻辑,这里还是用myBatis框架写的查询语句,不借助PageHelper插件自己在java中的Service层书写业务逻辑完成手动分页。

一、分析思路

假如每页显示5条数据,当我们显示第一页数据的时候,展示数据中前5条数据,展示第二页数据的时候,展示6-10的数据,以此类推,我们就需要根据page(当前页数)和sizePerPage(每页显示个数)计算出每页数据的开始下标和结束下标。

二、具体实现

1、利用mapper接口和mapper文件实现SQL查询:

      mapper文件

 上述count(*)查询数据总个数,总个数的数据也需返给前端,以此来计算需要的页码数。

2、业务逻辑------Service层

 上述的bookMapper.selectBookByPage参数是Map类型。

3、Controller层

 4、返回数据

 5、总结

经过测试可以看到上述的手动分页也是完全可以实现分页功能的,当然有插件的实现,肯定插件还是方便的,我简单记录一下,因为插件实现分页的原理的业务逻辑是跟手动分页的业务逻辑是一样的,把基本思路和原理搞清楚,去尝试实现一遍还是不错的。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值