springboot注入分页插件(pagehelper)不生效

本项目使用pagehelper过程中发现分页不生效

相关配置如下

springboot的分页插件

<dependency>
  <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper-spring-boot-starter</artifactId>
   <version>${spring-boot-pagehelper.version}</version>
</dependency>

分页插件注入,我这里代码都是手动注入

   @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("helperDialect", "Mysql");
        p.setProperty("supportMethodsArguments", "true");
        p.setProperty("reasonable", "false");
        p.setProperty("params", "count=countSql");
        pageHelper.setProperties(p);
        return pageHelper;
    }

代码如下:

springboot注入分页插件(pagehelper)不生效
springboot注入分页插件(pagehelper)不生效

生成SQL中并没有分页代码
debug中发现注入mybatis的插件拦截器数组中并没有分页插件 如图:
springboot注入分页插件(pagehelper)不生效

解决方案

在注入分页插件的同时注入mybatis 插件拦截器数组

注意
如果手动注入拦截器,那所有的mybatis插件拦截器都要在这里注入。

    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("helperDialect", "Mysql");
        p.setProperty("supportMethodsArguments", "true");
        p.setProperty("reasonable", "false");
        p.setProperty("params", "count=countSql");
        pageHelper.setProperties(p);
        return pageHelper;
    }
    /**
     * 给mybatis注入分页插件
     * 防止mybatis分页插件不生效
     **/
    @Bean
    public Interceptor[] plugins() {
        return new Interceptor[]{new PageInterceptor()};
    }

运行成功结果

springboot注入分页插件(pagehelper)不生效

成功获取到了 插件数组

springboot注入分页插件(pagehelper)不生效

分页插件生效

上一篇:如何解决setProperty、getProperty的中文乱码问题 ?


下一篇:10java进阶——IO2