具體說來就是,myabatis使用MapperScannerConfigurer掃描模式後他會優先於PropertyPlaceholderConfigurer執行,因此這個時候,${jdbc.maxActive }java
尚未被properties文件裏面的值所替換,因此出現TypeMismatchException,而後就異常了。正確配置以下spring
<!-- MyBatis Sql -->sql
<!-- 這裏 SqlSessio nFactory 的名字不叫sqlSessionFactory,換一個名字 -->mybatis
<bean id=" mSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> app
<property name="configLocation" value="classpath:mybatis/config.xml" /> spa
<property name="dataSource" ref="dataSource" />xml
</bean>io
<!-- 掃描mapper.java -->class
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" autowire="byName"> 配置
<property name="basePackage" value="com.xy.mapper" />
<!-- 這裏 用 sqlSessionFactoryBeanName,而不是 sqlSessionFactory,接下來用value而不是ref -->
<property name=" sqlSessionFactoryBeanName" value=" mSqlSessionFactory" />
</bean>