版本不兼容造成的 ClassNotDeFoundException:com.github.pagehelper.PageInterceptor

    目前项目中使用springboot+mybatis+druid进行操作数据库的数据源、事务整合配置,整合时没有什么问题,后面需要加入一个分页插件时,搞了我好久,将pagehelper的版本从4.0.x到5.1.0试了个遍,特此记录一下。

由于使用druid,需要自己在代码中实现bean的配置以及添加分页插件。pagehelper 5.0.0以下版本。使用的是这个类Pagehelper,我们在项目中可以这样写:

 @Bean(name = "pageHelper")
    public pageHelper pageHelper(){
        pageHelper pageHelper = new pageHelper();
        Properties properties = new Properties();
        /**默认false,设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用*/
        properties.setProperty("offsetAsPageNum","true");
        /**默认false,设置为true时,使用RowBounds分页会进行count查询 */
        properties.setProperty("rowBoundsWithCount","true");
        /** 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 */
        properties.setProperty("reasonable","true");
        /** always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page */
        properties.setProperty("returnPageInfo","check");
        /** 支持通过Mapper接口参数来传递分页参数 */
        properties.setProperty("supportMethodsArguments","false");
        /**  配置数据库的方言  */
        properties.setProperty("dialect","oracle");
        pageHelper.setProperties(properties);
        return pageHelper;
    }

而5.0.0以上的版本则使用的是PageInterceptor,那么我们的bean就需要改成下面这样:

 @Bean(name = "pageHelper")
    public PageInterceptor pageHelper(){
        PageInterceptor pageHelper = new PageInterceptor();
        Properties properties = new Properties();
        /**默认false,设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用*/
        properties.setProperty("offsetAsPageNum","true");
        /**默认false,设置为true时,使用RowBounds分页会进行count查询 */
        properties.setProperty("rowBoundsWithCount","true");
        /** 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 */
        properties.setProperty("reasonable","true");
        /** always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page */
        properties.setProperty("returnPageInfo","check");
        /** 支持通过Mapper接口参数来传递分页参数 */
        properties.setProperty("supportMethodsArguments","false");
        /**  配置数据库的方言  */
        properties.setProperty("helperDialect","oracle");
        pageHelper.setProperties(properties);
        return pageHelper;
    }

注意: 1、版本不同,所实现的bean不相同

        2、版本不同,数据库方言不同


你可能感兴趣的:(pagehelper)