SpringBoot整合Mybatis出现错误Invalid bound statement (not found)的解决办法

283 阅读1分钟

1.检查xml文件所在package名称是否和Mapper interface所在的包名

Mapper的namespace写的不对的注意修改,以下代码为例,检查namespace的值。如果用插件生成的代码,一般不会有这个问题。

<mapper namespace="xxx.xxx.xxx.xxx.UserDao">

2.UserDao的方法在UserDao.xml中没有

执行UserDao的方法会报此错误。

3. 返回类型映射

UserDao的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType!

4. 文件不生效

请任意修改下对应的xml文件,比如删除一个空行,保存,问题解决。或者rebuild下工程(全量重新编译)。

5.看下mapper的XML配置路径是否正确。

6. yml的缩进

第5点再补充说明一下:Mybatis的配置,如果你使用的yml格式的千万注意,缩进对于yml来说至关重要。Mybatis是在文档的顶级配置下,不要放在Spring下,否则报错。