• SpringBoot整合PageHelper


    POM配置

    有两种方式,我们这里只使用原生的PageHelper
    导入Maven:

        <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>4.1.3</version>
            </dependency>

    Java配置

    在springboot的启动类(WarApplication.java)里面注入:

      @Bean
        PageHelper pageHelper(){
            //分页插件
            PageHelper pageHelper = new PageHelper();
            Properties properties = new Properties();
            properties.setProperty("reasonable", "true");
            properties.setProperty("supportMethodsArguments", "true");
            properties.setProperty("returnPageInfo", "check");
            properties.setProperty("params", "count=countSql");
            pageHelper.setProperties(properties);
    
            //添加插件
            new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});
            return pageHelper;
        }

    注意:网上很多文章都不贴插件的注入,所以会失败

    Controller分页写法

    语句pageNum表示当前页,5表示当前页显示的个数为5个
    当前页页设置了默认值为1

        @Autowired
        private BlogMapper blogMapper;
    
        @ApiOperation(value = "拿到所有博客",notes = "")
        @GetMapping(value = "blogs")
        public R1 ajaxBlog(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum){
            PageHelper.startPage(pageNum,5);
            List<Blog> blogList = blogMapper.selectByExample(new BlogExample());
            PageInfo<Blog> pageInfo = new PageInfo<Blog>(blogList);
            return R1.add("blog",pageInfo);
        }

    POSTMAN显示结果

    当我把页数设置为5的时候,插件会默认选择查询结果的最后一页:

    以上便是PageHelper在SpringBoot上的应用;

  • 相关阅读:
    mybatis中的延迟加载
    MyBatis的mapper
    MyBatis的resultMap
    mybatis入门
    mybatis中的#和$的区别(转)
    操作日志记录
    SpringMVC中的异常处理集锦
    vue.js的package.json相关问题解惑
    git的常用操作指令
    http协议参数详解
  • 原文地址:https://www.cnblogs.com/ifindu-san/p/9721844.html
Copyright © 2020-2023  润新知