org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
找不到mappper中定义的方法

造成这何种错误的原因是因为,项目编译时只编译加载了src/main/java下的java文件而不会编译加载.xml文件,编译过后的项目会在target下,从target下可以看到mapper包下并没有.xml文件
解决方法
1、把.xml文件复制到target中的mapper下
2、把.xml文件放入resources中
3、通过配置文件解决
(1)在当前项目的pom.xml文件中配置
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
(2)在当前项目的application.properties文件中配置.xml文件路径
#配置mapper xml文件的路径 mybatis-plus.mapper-locations=classpath:com/example/education/mapper/xml/*.xml
如果以上方法并不能解决你的问题,请检查自己的mapper文件和.xml文件的名字是否一样,还有mapper中定义的方法名和.xml文件中相关sql的id值是否一样
本文介绍了在使用MyBatis时遇到'Invalidboundstatement:notfound'错误的解决方案,包括检查编译范围、配置文件和mapper.xml的位置,以及提供详细步骤和示例配置。
1万+

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



