sprintboot使用PageHelp实现分页

2022/1/5 6:10:31

本文主要是介绍sprintboot使用PageHelp实现分页,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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();
    }


这篇关于sprintboot使用PageHelp实现分页的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程