mybatis BindingException: Invalid bound statement (not found)

错误截图

mybatis BindingException: Invalid bound statement (not found)

 

解决措施

此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。

通常我们在配置SqlSessionFactory时会有如配置

 1 <!-- 配置SqlSessionFactory -->
 2     <bean class="org.mybatis.spring.SqlSessionFactoryBean">
 3         <!-- 设置MyBatis核心配置文件 -->
 4         <property name="configLocation" value="classpath:resources/mybatis/mybatis-config.xml" />
 5         <!-- 设置数据源 -->
 6         <property name="dataSource" ref="dataSource" />
 7         <!-- 它表示我们的Mapper文件存放的位置,当我们的Mapper文件跟对应的Mapper接口处于同一位置的时候可以不用指定该属性的值。 -->
 8         <property name="mapperLocations" value="classpath:/mappings/**/*.xml" />
 9         <!-- 那么在Mapper文件里面就可以直接写对应的类名 而不用写全路径名了  -->
10         <!-- 跟mybatis中<typeAliases>作用一样 -->
11         <!-- <property name="typeAliasesPackage" value="com.jeenotes.ssm.pojo"/> -->
12     </bean>

 

重点是第8行代码,他代表我们的mapper文件存放路径,如果不配置这一行的话,默认路径是你存放dao文件目录,这也就是为何把xml文件放在dao目录跟xxxDao.java文件放在一起不报错,放在其他路径就报错问题所在。

 

本文地址:http://www.cnblogs.com/niceyoo/articles/8733251.html