具体说来就是,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>