ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

sprintboot使用PageHelp实现分页

2022-01-05 00:00:01  阅读:230  来源: 互联网

标签:PageHelp 查询方法 pageNum 分页 pageSize sprintboot PageHelper startPage


0、官方文档

PageHelp分页官方文档

1、导包

		<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>最新版本</version>
        </dependency>

2、配置

在application.yml中进行配置

#pagehelper分页插件配置
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  # params: 

helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect属性来指定分页插件使用哪种方言。

reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。 默认false 时,直接根据参数进行查询。

supportMethodsArguments:支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 使用方法可以参考测试代码中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest。

params:为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

3、使用

因为本人项目只需要用到PageHelper.startPage ,所以仅仅测试这个静态方法调用

除了 PageHelper.startPage 方法外,还提供了类似用法的 PageHelper.offsetPage 方法。

在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

controller

 @RequestMapping(value="/all",method = RequestMethod.GET)
    public List<User> selectAll(@RequestParam int pageNum,@RequestParam int pageSize){
        return userService.selectAll(pageNum,pageSize);
    }

serviceImpl

 @Override
    public List<User> selectAll(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        // 在你需要进行分页的 MyBatis 查询方法前调用 `PageHelper.startPage` 静态方法即可
        // 紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。
        return userMapper.selectAll();
    }

标签:PageHelp,查询方法,pageNum,分页,pageSize,sprintboot,PageHelper,startPage
来源: https://blog.csdn.net/weixin_51993595/article/details/122314189

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有