SSM框架Mybatis分页PageHelper遇到的坑

报错 Cannot convert value of type ‘com.github.pagehelper.PageHelper’ to required type ‘org

项目场景:SSM框架Mybatis分页

问题描述:sqlSessionFactory 初始化上下文失败

修改前的applicationContext-dao.xml配置:
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageHelper">
					<property name="properties">
						<value>
							dialect=mysql
						</value>
					</property>
				</bean>
			</array>
		</property>
	</bean>
Error creating bean with name 'sqlSessionFactory' defined in URL [jar:file:/D:/ProgramFiles/maven_repository/com/qingcheng/qingcheng_common_service/1.0-SNAPSHOT/qingcheng_common_service-1.0-SNAPSHOT.jar!/applicationContext-dao.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.Object[]' to required type 'org.apache.ibatis.plugin.Interceptor[]' for property 'plugins'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'com.github.pagehelper.PageHelper' to required type 'org.apache.ibatis.plugin.Interceptor' for property 'plugins[0]': no matching editors or conversion strategy found

原因分析:

因为我使用的是PageHelper5.0以上版本的,但是配置文件是老版本的写法,如果按照这样的配置的话,就会报出以上异常;

解决方案:

修改后的applicationContext-dao.xml配置:
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageInterceptor">
					<property name="properties">
						<value>
							helperDialect=mysql
						</value>
					</property>
				</bean>
			</array>
		</property>
	</bean>

上一篇:spring技术内幕学习笔记01


下一篇:【Spring源码这样读】-XmlBeanFactory为什么废弃了