这个问题困扰我快一个月了,终于在今天解决了。

通常我们在使用mybatis的分页插件时,会在mybatis的配置文件中进行配置如下代码:

<!-- 配置分页插件 -->
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageHelper">
		<!-- 设置数据库类型 Mysql -->        
        	<property name="dialect" value="mysql"/>
		</plugin>
	</plugins>

这是正确的,但是有一个前提pagehelper依赖的jar的版本得是 <pagehelper.version>3.4.2-fix</pagehelper.version>.

但是我所使用的jar版本是5.0.0的,导致我在运行项目的时候报错,到今天才解决。请看下面报错:

mybatis分页插件pagehelper

 

mybatis分页插件pagehelper

 mybatis分页插件pagehelper

Cause: java.lang.ClassCastException:

com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor 

然后我找到PageHelper查看源代码确实发现没有实现Interceptor

mybatis分页插件pagehelper

然后发现PageInterceptor实现了Interceptor:

mybatis分页插件pagehelper

所有呢解决方法修改mybatis的配置文件:

<!-- 配置分页插件 -->
	<plugins>
		<!-- <plugin interceptor="com.github.pagehelper.PageHelper"> -->
		<plugin interceptor="com.github.pagehelper.PageInterceptor">
		<!-- 设置数据库类型 Mysql -->        
        	<!-- <property name="dialect" value="mysql"/> --> 
		</plugin>
	</plugins>

仔细看发现注释了<property name="dialect" value="mysql"/>.这是因为PageHelper插件4.0.0以后的版本支持自动识别使用的数据库,可以不用配置。

再次运行,一切正常

mybatis分页插件pagehelper

相关文章:

  • 2021-08-08
  • 2022-12-23
  • 2021-04-07
  • 2021-10-26
  • 2021-06-10
  • 2021-07-19
猜你喜欢
  • 2021-05-20
  • 2021-07-21
  • 2021-10-20
  • 2022-01-31
相关资源
相似解决方案