這個問題困擾我快一個月了,終於在今天解決了。
通常我們在使用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的,導致我在運行項目的時候報錯,到今天才解決。請看下面報錯:
Cause: java.lang.ClassCastException:
com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor
然後我找到PageHelper查看源代碼確實發現沒有實現Interceptor
然後發現PageInterceptor實現了Interceptor:
所有呢解決方法修改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以後的版本支持自動識別使用的數據庫,可以不用配置。
再次運行,一切正常