我的项目之前的dao部分完全是全java+注解,并没有配置xml文件。现在引入了mybatis.generator自动生成dao和xml映射文件后,写了一个接口,调用时报错
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
一开始一直在检查,自动扫描的包路径是否写对,springboot启动时是否有将数据源加载进去。没有解决,后面网上看到可能是编译问题。一看我的target目录下,确实只有dao的java文件,而没有xml文件,
这是因为,IDEA的maven项目中,默认源代码目录下(src/main/java)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,会直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。
解决方法有两种:
1)、把*Mapper.xml文件放到resource文件夹下管理
2)、pom配置一下编译xml文件
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
我是用第二种方法解决的。