org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
无效的绑定语句(未找到),就是写的sql 方法找不到sql。
解决:
1 namespace 指向是否正确
路径与引用的方法的路径保持一致
a.namespace 没有指向Dao
b. id ,方法名没有对应上
2 引用的方法是否加了@mapper
3 maven项目 检查是否配置,生产对应的xml文件,保证maven 编译
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
4 yaml 配置 是否正确匹配了
有些项目通过,配置来确定xml 路径。
例如,这里的
dao/*.xml 与实际的
路径就不一致,就得改成mapper/*.xml
5 编译文件
这个是我遇到的问题,很是离谱。
正常是这样的,说明文件被编译了。
如果不是这样,请编译构建。
Sources Root:告诉idea这个文件夹及其子文件夹中包含源代码,是需要编译构建的一部分(对于java开发人员来说就是java文件夹了)
Test Sources Root:测试源文件夹允许您将与测试相关的代码与生产代码分开。通常,源和测试源的编译结果被放置在不同的文件夹中。
Resources Root:用于应用程序中的资源文件(图像、各种配置XML和属性文件等,类似于resource文件夹)。
在构建过程中,资源文件夹的所有内容都复制到输出文件夹中,如下所示。
类似于源,您可以指定生成资源。您还可以指定输出文件夹中的文件夹,您的资源应该复制到