若依框架分页

文章目录

  • 一、分页功能解析
    • 1.前端代码分析
    • 2.后端代码分析
    • 3. LIMIT含义
  • 二、自定义MyPage,多态获取total
    • 1.定义MyPage类和对应的调用方法


一、分页功能解析

1.前端代码分析

  • 页面代码
    若依框架分页_第1张图片

  • 封装的api请求
    若依框架分页_第2张图片

  • 接口请求若依框架分页_第3张图片若依框架分页_第4张图片

2.后端代码分析

  • controller代码
    若依框架分页_第5张图片- startPage()
    若依框架分页_第6张图片
  • getDataTable()
    若依框架分页_第7张图片
    核心是通过new了一个PageInfo对象,然后传入list对象,PageInfo对象中通过强转list对象为List的子类Page类,并获取Page类中的total值,设置到响应对象中

3. LIMIT含义

请求后端的Log
在这里插入图片描述可以看到limit后面有有两个参数,分别是两个10

  • 而limit有两种常用用法:
    1. 不指定初始位置
      LIMIT 关键字不指定初始位置时,记录默认从第一条记录开始显示。显示记录的条数由 LIMIT 关键字指定。
      LIMIT 不指定初始位置的基本语法格式如下:

       LIMIT 记录数
      

      其中,“记录数”表示显示记录的条数。如果“记录数”的值小于查询结果的总数,则会从第一条记录开始,显示指定条数的记录。如果“记录数”的值大于查询结果的总数,则会直接显示查询出来的所有记录。

    2. 指定初始位置
      LIMIT 关键字可以指定查询结果从哪条记录开始显示,显示多少条记录。
      LIMIT 指定初始位置的基本语法格式如下:

       LIMIT 初始位置, 记录数
      

      其中,“初始位置”表示从哪条记录开始显示;“记录数”表示显示记录的条数。第一条记录的位置是 0,第二条记录的位置是 1。后面的记录依次类推。

      注意:LIMIT 后的两个参数必须都是正整数。

因此可以得出两个参数代表的含义,第一个10代表从第11个记录开始,第二个10代表查询出之后的10个记录,最后一行的total返回值,代表了在该limit分页下,查询返回了1条数据(因为第二页只有一条数据)

二、自定义MyPage,多态获取total

1.定义MyPage类和对应的调用方法

  • MyPage类
    若依框架分页_第8张图片

  • 方法定义
    方法返回的类型是List,返回值的类型是MyPage(使用多态思想)若依框架分页_第9张图片

  • 方法调用
    instanceof 是一个运算符,语法为:
    引用类型变量(object) instanceof 类(class)
    功能: 判断前面的对象是否属于后面的类,或者属于其子类;若依框架分页_第10张图片

  • 验证
    若访问接口返回值为100则正确,-1则不正确
    若依框架分页_第11张图片

你可能感兴趣的:(SpringBoot,ruoyi)