首页 > 基础资料 博客日记

SpringBoot整合分页助手

2024-09-18 01:00:07基础资料围观13

文章SpringBoot整合分页助手分享给大家,欢迎收藏Java资料网,专注分享技术知识

目录

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等关键词


文章来源:https://blog.csdn.net/hang_sa_mu/article/details/142068265
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云