Mybatis框架的重要配置之MyBatisPlus拦截器(用于分页)及相关问题

配置类代码

/**
 * MyBatisPlus配置类
 */
@Configuration
public class MyBatisPlusConfig {

    /**
     * MyBatisPlus拦截器(用于分页)
     */
    @Bean
    public MybatisPlusInterceptor paginationInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //添加MySQL的分页拦截器
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

}

如果不配置该分页拦截器,我们在使用mybatis自带的seletePage()方法时,还是能进行查询,但此时会发现,total值为0。只有当配置该分页拦截器后,才能正常统计total的值。

但配置了该拦截器,可能会出现某些问题,如:

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2024-03-28 09:13:28.137 ERROR 18956 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call the method net.sf.jsqlparser.schema.Column.withColumnName(Ljava/lang/String;)Lnet/sf/jsqlparser/schema/Column; but it does not exist. Its class, net.sf.jsqlparser.schema.Column, is available from the following locations:

    jar:file:/D:/software/apache-maven-3.6.1/mvn_reps/com/github/jsqlparser/jsqlparser/1.2/jsqlparser-1.2.jar!/net/sf/jsqlparser/schema/Column.class

It was loaded from the following location:

这是由于依赖问题,比如我这里是:

与其他依赖发生版本冲突问题,此时只需在pom文件中加入

<!--由于版本冲突,所以排除pagehelper的jsqlparser-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>${pagehelper.version}</version>
    <exclusions>
        <exclusion>
            <artifactId>jsqlparser</artifactId>
            <groupId>com.github.jsqlparser</groupId>
        </exclusion>
    </exclusions>
</dependency>

即可成功解决问题,正常启动项目。

  • 35
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值