mybatis分頁插件pagehelper

這個問題困擾我快一個月了,終於在今天解決了。

通常我們在使用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以後的版本支持自動識別使用的數據庫,可以不用配置。

再次運行,一切正常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章