文章目录
- 一、分页功能解析
- 1.前端代码分析
- 2.后端代码分析
- 3. LIMIT含义
- 二、自定义MyPage,多态获取total
- 1.定义MyPage类和对应的调用方法
一、分页功能解析
1.前端代码分析
-
页面代码
-
封装的api请求
-
接口请求
2.后端代码分析
- controller代码
- startPage()
- getDataTable()
核心是通过new了一个PageInfo对象,然后传入list对象,PageInfo对象中通过强转list对象为List的子类Page类,并获取Page类中的total值,设置到响应对象中
3. LIMIT含义
请求后端的Log
可以看到limit后面有有两个参数,分别是两个10
- 而limit有两种常用用法:
-
不指定初始位置
LIMIT 关键字不指定初始位置时,记录默认从第一条记录开始显示。显示记录的条数由 LIMIT 关键字指定。
LIMIT 不指定初始位置的基本语法格式如下:LIMIT 记录数
其中,“记录数”表示显示记录的条数。如果“记录数”的值小于查询结果的总数,则会从第一条记录开始,显示指定条数的记录。如果“记录数”的值大于查询结果的总数,则会直接显示查询出来的所有记录。
-
指定初始位置
LIMIT 关键字可以指定查询结果从哪条记录开始显示,显示多少条记录。
LIMIT 指定初始位置的基本语法格式如下:LIMIT 初始位置, 记录数
其中,“初始位置”表示从哪条记录开始显示;“记录数”表示显示记录的条数。第一条记录的位置是 0,第二条记录的位置是 1。后面的记录依次类推。
注意:LIMIT 后的两个参数必须都是正整数。
-
因此可以得出两个参数代表的含义,第一个10代表从第11个记录开始,第二个10代表查询出之后的10个记录,最后一行的total返回值,代表了在该limit分页下,查询返回了1条数据(因为第二页只有一条数据)
二、自定义MyPage,多态获取total
1.定义MyPage类和对应的调用方法
-
MyPage类
-
方法定义
方法返回的类型是List,返回值的类型是MyPage(使用多态思想) -
方法调用
instanceof 是一个运算符,语法为:
引用类型变量(object) instanceof 类(class)
功能: 判断前面的对象是否属于后面的类,或者属于其子类; -
验证
若访问接口返回值为100则正确,-1则不正确