目录

ruoyi分页原理的前端后端简单分析

ruoyi分页原理的前端后端简单分析

目录


前端代码

找到书籍操作界面(使用自动生成代码功能生成)的分页组件

getList为分页组件页面改变时会触发的函数

https://i-blog.csdnimg.cn/blog_migrate/14bb976e1893840c856a9f961fe89ecc.png

进入listBooks触发ajax请求

携带查询参数querParams给后端

之后将后端返回的rows(图书列表数据 )赋值给前端变量,total(总列数)赋值给前端变量

https://i-blog.csdnimg.cn/blog_migrate/f5307d34d440603a0868e9549330b1f4.png

https://i-blog.csdnimg.cn/blog_migrate/00732ebc19adf8d274f2f740b125dc18.png

https://i-blog.csdnimg.cn/blog_migrate/dd4ffc01307594d316a774da562a1bae.png

后端返回的Json数据

后端代码

首先执行startPage函数(分页操作)

https://i-blog.csdnimg.cn/blog_migrate/369bbb8a9c87097e7bba70db556e84b0.png

https://i-blog.csdnimg.cn/blog_migrate/3290b60cf10050e529c3b72112397297.png

通过getPageNum和getPageSize获取页数和每一页的列数

再通过startPage执行分页操作

https://i-blog.csdnimg.cn/blog_migrate/9fb1cc9470ed4ddefa5d6fa317c3478c.png

回到后端接口函数

执行selectBookList函数获取数据库中的book信息

执行getDataTable

https://i-blog.csdnimg.cn/blog_migrate/a63483b7f29abf001bf01dabede4e775.png

下面的函数中将信息和列表数据写入resData对象中传递给前端

其中getTotal函数为PageInfo的父类PageSerializable中的函数

https://i-blog.csdnimg.cn/blog_migrate/64f2dcc14e52e71ceb1ba8ea8231dbe7.png

PageSerializable的构造函数进行判断list和Page是否有继承关系

有则对list进行强转从而能使用子类Page中的getTotal函数获取total https://i-blog.csdnimg.cn/blog_migrate/6d26792fe507064980ccea0909bd7d28.png

selecttushuList没用使用pageNum和pageSize所以返回所有数据

https://i-blog.csdnimg.cn/blog_migrate/be06e023b26ee2275ccb604d830833e5.png

https://i-blog.csdnimg.cn/blog_migrate/60756c610878bc39bbf6e1af29226a02.png

LIMIT对查询数据做了行数输出限制

https://i-blog.csdnimg.cn/blog_migrate/c97eb597a0be8e109f0d24035b26fa6c.png

当前端参数为pageNum=2和pageSize=10对应的后端Log

https://i-blog.csdnimg.cn/blog_migrate/6dd2df919dda86c4a040242e75626fc3.png

https://i-blog.csdnimg.cn/blog_migrate/3e5b4cb0000e68f67790b1e0d24b906e.png