我遇到这个问题后,在网上找了很多,但都是说的官话:
- 检查mybatis.xml文件namespace名称是否和Mapper接口的全限定名是否一致
- 检查Mapper接口的方法在mybatis.xml中的每个语句的id是否一致
- 检查Mapper接口方法返回值是否匹配select元素配置的ResultMap,或者只配置ResultType
- 检查yml文件中的mapper的XML配置路径是否正确
用人话来说,我遇到的是两个问题(举例)
- 资源下的UserMapper.xml中的namespace要与接口类(interface)UserMapper的地址一致,这个大家应该已经检查了无数次了。 主要是第二种。
- UserMapper.xml文件在resources下的位置应和接口类Usermapper的位置一致。还是上方那张图, UserMapper接口的位置是 java/tt/mybatis/mapper/UserMapper,那么映射文件的位置也应该是 resources/tt/mybatis/mapper/UserMapper.xml。
注意:
-
如果两者的位置是错的,就是如标题所述的错误(如下)
-
当我把UserMapper.xml映射文件的位置由 resources/tt/mybatis/mapper/UserMapper.xml改为 resources/mapper/UserMapper.xml,就会出错。
- 还有一种错误是在 resources下建立文件夹时,不能用tt.mybatis.mapper来建立,得用 tt/mybatis/mapper来建立文件夹,虽然在IDEA中看起来并无两样,但是两者建立的目录路径是不同的。(右键点击红色部分,选择”Show in Explorer”,上为正确的)
posted @
2022-08-10 09:10 大晟萧韶九奏成
阅读(
47
) 评论(
) 编辑
Original: https://www.cnblogs.com/dsxs-bios/p/16571073.html
Author: 大晟萧韶九奏成
Title: (有图说人话)解决MyBatis:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/593623/
转载文章受原作者版权保护。转载请注明原作者出处!