28商城项目(商品分页)
分页技术
A.要求
1.当前页显示5条数据的集合
2.页码的导航显示(总共多少页)
3.当前是第几页
4.当前页的页码背景显示
5.每页显示5条
B.介绍分页功能的插件
pagehelper插件
关键类:
1.PageHelper
核心处理类
做拦截器的功能
PageHelper将当前的页码(pageNum)和每页分割几条(pageSize)用limit拼接到select语句后面
2.PageInfo
封装了所有数据
看源代码
size是当前页面记录个数
pageSize是每页显示记录条数
List<T> list是当前页面显示数据的集合
C.具体实现步骤
1.先从业务逻辑层开始
(1)创建接口和类
ProductInfoService
ProductInfoServiceImpl
(2)去mysql中理清分页逻辑
当前是第2页,显示分页后第2页所得的记录
select * from product_info limit 起始记录数((当前页-1)*每页的条数),每页取几条
select * from product_info limit 5,5
(3)在接口中写出分页功能实现函数的定义
PageInfo splitPage(int pageNum,int pageSize);
(4)在实现类完成分页功能
查找增加功能
2.在控制器中写显示第一页的数据
(1)获取第一页中的数据
3.ajax提交分页请求页面功能实现
点击第三页的页码时,将第三页页码上传到服务器端,告诉服务器端现在发出异步ajax请求,
现在需要第三页的内容,接着去控制器中调用service,去service中调用数据访问层,
拿到第三页内容后返回到当前的页面上,
刷新整个显示内容,显示第三页内容,
深灰色框框停留在第三页页码上。
加载table容器时,重新读取info.list来进行展示
在session中放了最新指定的page页码中的内容
info就是在session中放好的内容
4.ajxa提交分页控制器功能实现