springMVC + myBatis项目中,需要新加一个数据源。
测试时代码报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
一般排查步骤:(我的问题不是以下原因,我的问题是由目录层级引起)
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应
2、检查xml文件的namespace是否和xml文件的package名称一一对应
3、检查函数名称能否对应上
原始错误配置:
<bean id="itaSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="itaDataSource" p:configLocation="classpath:mybatis-config.xml" p:typeAliasesPackage="com.ckt.trafficmanageplatform.model" p:mapperLocations="classpath:mapper/*.xml"/>
<bean id="tegSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="tegDataSource" p:configLocation="classpath:mybatis-config.xml" p:typeAliasesPackage="com.ckt.trafficmanageplatform.model" p:mapperLocations="classpath:mapper/teg/*.xml"/>
itaSqlSessionFactory会将mapper目录下所有xml文件加载完,导致tegSqlSessionFactory报错
正确配置如下: