关于org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的问题
问题描述
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.nrf.dao.UserDOMapper.selectByPrimaryKey
访问结果:
我在博客上面找了,说是mybatis出现问题,Mapper 接口和对应xml文件的定义对应不上。
二、解决方法
1.检查xml文件所在的包名名称和Mapper接口所在包名是否一致;
2.application.properties文件中的mybaits映射文件是否正确
3.@MapperScan(“XXX”),xml映射的文件所在包类的全包名是否正确
4.pom.xml文件中配置resources
<resources>
<resource>
<directory>src/main/</directory>
<!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 -->
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!--指定资源的位置-->
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
据说是因为在于和mapper接口文件相互绑定的 .xml文件不是代码,无需编译,但是需要指定在编译时将指定的资源文件(此处为 .xml文件)拷贝到对应目录下(此处应当为 编译好之后 类文件的对应目录)
需要在pom.xml文件中配置resources,来指定XXXMapper.xml所在的位置,不然mapper.xml文件就会被漏掉!
我就是用第4个方法解决的!!
好了,我要去new一个新坑了~~