解决办法总结:
办法1:
mybatis下的dao的接口与xml映射不了,我的原因是没有在 sqlSessionFactory 下配置 mapper(mapperLocations)文件扫描。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- sql映射文件路径 -->
<property name="configLocation" value="classpath:SqlMapConfig.xml"></property>
<property name="mapperLocations" value="classpath:/main/com/mochunrong/mapper/*.xml"></property>
</bean>
办法2:
其他原因导致此问题解决参考:
1、检查 <mapper namespace="xx.xx.dao"> namespace写的不对。
2、UserDao下的selectInfo()方法在UserDao.xml中没有,然后执行UserDao的方法会报错,保持方法映射对应。
3、注意 xml 下的 resultMap、parameterType 有没有写错。
4、如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存问题解决。
5、看下mapper的XML配置路径是否正确。也就是“办法1”设置mapperLocations 路径。
6、dao文件名与xml文件名对应一样。
总结:以上各一点都会引发一下的报错问题。
报错索引:
org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):xxx.xxxx.xxx.xxMapper.xxxxx