SpringBoot整合分页助手

目录

1 导入依赖

2 测试使用

关于分页有些数据

  • 默认访问首页,即默认当前页是 pageNum= 1

  • 数据有总条数, total = select count(*)

  • 页面大小/每页展示多少条数据, pageSize = 10

  • 总页数 , pageCount = total / pageSize (需要注意除不尽情况)


-- total共7条
select count(*) from tb_user
-- 每页多少条数据: pageSize 3条
-- 总页数pageCount
pageCount = total % pageSize == 0? total/pageSize :(total/pageSize)+1
-- 当前页pageNum=1
-- 查询第1页
select * from tb_user limit 0,3
-- 查询第2页
select * from tb_user limit 3,3
​
-- 查询第pageNum页
select * from tb_user limit (pageNo-1)*pageSize,pageSize
-- 查询第3页面
select * from tb_user limit 6,3

现在使用的是分页助手-pagehelper

  • 原理拦截sql,帮助我们拼接limit

1 导入依赖

<!-- pageHelper依赖-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <!-- 不能使用1.2.6版本,因为版本太低与springboot高版本不兼容,导致启动项目报错 -->
    <version>1.4.2</version>
</dependency>

SpringBoot会自动完成配置,我们直接写代码

2 测试使用

测试是在Controller中直接设置开启分页即可

特别注意!!! 无需改动sql,即不需要自己写limit,分页工具自己会拼接

  
  /**
     * 使用分页查全部
     * pageNum 当前页码
     * pageSize 页面大小
     * 这两个参数需要前端发请求带过来
     */
    @GetMapping("/m2")
    public R testMybatis2(int pageNum,int pageSize) {
        // 使用步骤
        // 1 先设置分页信息
        PageHelper.startPage(pageNum,pageSize);
        // 2 正常执行查询
        List<User> list = mapper.findAll( );
        // 3 通过查询返回的list创建出分页信息,PageInfo内包含所有分页数据,可以点入源码查看
        PageInfo<User> info = new PageInfo<>(list);
        System.out.println("当前面"+info.getPageNum());
        System.out.println("页面大小"+info.getPageSize() );
        System.out.println("总条数"+info.getTotal() );
        System.out.println("总页数"+info.getPages() );
        System.out.println("数据"+info.getList());
        return R.ok(info);
    }

注意,mapper层面还是之前的查询全部findAll,sql语句还是select * from tb_user,不需要写其他的

因为PageHelper插件会自动帮助拼接limit等关键词

SpringBoot整合MyBatis进行分页操作时,可以使用PageHelper插件来实现分页功能。首先需要添加相关依赖,例如在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version> </dependency> ``` 然后,在application.properties文件中配置PageHelper插件的相关参数: ```properties # 分页插件配置 pagehelper.helper-dialect=mysql pagehelper.params=count=countSql pagehelper.reasonable=true pagehelper.support-methods-arguments=true ``` 接下来,可以通过编写代码来实现分页功能。具体的实现方式根据个人需求的不同而有所区别。可以使用SQL分页,利用原生的SQL关键字limit来实现;也可以利用PageHelper插件来实现简单的分页操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringBoot整合MyBatis分页](https://blog.csdn.net/qq_51808107/article/details/131393594)[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^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [SpringBoot整合MyBatis四种常用的分页方式(详细总结)](https://blog.csdn.net/qq_45037155/article/details/128046032)[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^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值