今天使用springboot来写项目,但是一直报**Invalid bound statement (not found)**错误。

一般来说报这种错误,都会通过下面几种方法查找。
-
检查Mapper.xml的命名空间是否正确。这个主要检查的是namespace中的名字和其dao层的接口类是否对应。
-
检查dao层的方法名和Mapper.xml中的方法名是否一致。
-
检查Mapper.xml中的parameterType和resultMap/resultType是否正确。
-
查看mybatis的xml路径配置是否正确

-
以上检查都正确的话,可以在对应xml文件中修改一下,加个空格或是空行之类的,保存后重新运行。
一般来说,以上几个步骤就能解决问题了,而在根据以上的步骤检查之后,题主的问题依旧存在。QWQ…
在又一次仔细的全面检查后,终于……题主看到了问题……

有没有发现哪里不对劲。
没错,mybatis和spring同属第一阶梯,为什么mybatis前面会有缩进???

在修改了格式之后,终于完美运行!_ _
我的springboot 项目使用的是application.yml格式的配置,其配置格式还是蛮严谨的。
主要注意:
- yml文件对大小写敏感,要注意区分大小写。
- ** 使用缩进表示层级关系**一定要注意,我就是没注意这里,才掉坑两小时的!
- 第一阶梯的元素要顶格,顶格,顶格!
- 冒号后面跟空格。
- 缩进空格数目不重要,但相同层级元素要左对齐。
- 缩进时只能使用空格,不能使用Tab。
写代码一定要仔细,不然真的浪费时间!
本文详细解析了一位开发者在使用SpringBoot结合MyBatis进行项目开发时遇到的InvalidBoundStatement错误。作者分享了排查此错误的常见步骤,包括检查Mapper.xml的命名空间、方法名匹配、参数类型及结果映射,以及XML路径配置。最终,问题归结于YAML配置文件中mybatis与spring配置项的不当缩进,强调了YAML文件格式的严谨性。
2815

被折叠的 条评论
为什么被折叠?



