若依框架分页


一、分页功能解析

1.前端代码分析

  • 页面代码
    在这里插入图片描述

  • 封装的api请求
    在这里插入图片描述

  • 接口请求在这里插入图片描述在这里插入图片描述

2.后端代码分析

  • controller代码
    在这里插入图片描述- startPage()
    在这里插入图片描述
  • getDataTable()
    在这里插入图片描述
    核心是通过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类
    在这里插入图片描述

  • 方法定义
    方法返回的类型是List,返回值的类型是MyPage(使用多态思想)在这里插入图片描述

  • 方法调用
    instanceof 是一个运算符,语法为:
    引用类型变量(object) instanceof 类(class)
    功能: 判断前面的对象是否属于后面的类,或者属于其子类;在这里插入图片描述

  • 验证
    若访问接口返回值为100则正确,-1则不正确
    在这里插入图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
若依框架分页查询错误的解决方法是对查询结果集进行二次操作时,会导致分页信息丢失。解决方案是将原本返回的List直接放到service层中,封装成分页对象后返回。这样可以避免分页信息丢失的问题。具体代码如下: ```java // 在service层中进行分页查询 @Service public class YourService { @Autowired private YourMapper yourMapper; public PageInfo<YourEntity> getYourPageData(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); List<YourEntity> yourList = yourMapper.getYourData(); return new PageInfo<>(yourList); } } ``` 这样,在controller层调用service层的方法,就可以得到封装好的分页对象。使用这种方式可以避免使用PageHelper时可能出现的问题。123 #### 引用[.reference_title] - *1* *3* [若依分离版——解决配置双数据源oracle,mysql分页错误问题](https://blog.csdn.net/zhaolulu916/article/details/131931766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [若依pageHelper分页导致total错误的问题](https://blog.csdn.net/m0_50707445/article/details/130771964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值