123

Springboot项目下mybatis报错:Invalidboundstatement(notfound)

2021-08-13 14:16 稿源:网畅天下  3575次访问

最近搭建一个web项目后端练手,使用Maven管理,遇到一个深坑invalid bound statement (not found),就是mapper文件扫描不到!!!

mybatis报错:Invalid bound statement (not found)的原因很多,

**1.你的mapper写在了java目录里面。*例如下图:这样会出现一个问题,即使你在properties里面配置了 mybatis.mapper-locations= classpath:com/lihaoyu/demo/dao/*.xml,也没有用,因为编译的时候这个xml文件并没有被自动拉到target里面,毕竟编译的是.java文件而不是xml嘛,所以这时候应该在pom文件里面加上:

20190316170532806.png

<build>

    <resources>

         <resource>

             <directory>src/main/java</directory>

             <excludes>

                 <exclude>**/*.java</exclude>

             </excludes>

         </resource>

         <resource>

             <directory>src/main/resources</directory>

             <includes>

                 <include>**/*.*</include>

             </includes>

        </resource>

    </resources></build>


**2 如果你把xml放到了resources文件下,

QQ浏览器截图20210813141525.png


那么就只需要配置

mybatis.mapper-Locations=classpath:mapper/*.xml 就可以了,因为构建的时候会把resources里的东西自动拉到classpath下,注意.classpath意思就是编译后target文件夹下的classes目录.


**3  检查:1. 接口中方法名(delete)与xml文件中 id="delete"是否一致

   2. xml文件中的 namespace="xxx.xxx.xxx.Mapper" 中的路径是否与接口文件路径一致

   3.parameterType类型 与 resultType类型是否准确;resultMap与resultType是不一样的。

QQ浏览器截图20210813141300.png


有好的文章希望朋友们帮助分享推广,猛戳这里河洛伊哥

相关热点

查看更多