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

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

相关配置如下

springboot的分页插件


  com.github.pagehelper
   pagehelper-spring-boot-starter
   ${spring-boot-pagehelper.version}

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

   @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)不生效_第1张图片
image

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

解决方案

在注入分页插件的同时注入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)不生效_第2张图片

成功获取到了 插件数组

image

分页插件生效

你可能感兴趣的:(java,springboot,mybatis)