SpringBoot整合mybatis报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found
在使用idea对SpringBoot和mybatis进行整合,执行插入语句时报错。
·
在使用idea对SpringBoot和mybatis进行整合,执行插入语句时报错。
界面报错:

控制台报错:

错误信息说是无法找到mapper接口中定义的方法,但是底层代码连接数据库是通过MyBatis自动代码生成插件插件的,不会有问题,整体项目结构如下:

百度搜索之后得知其原因,是由于IntelliJ IDEA开发工具引起的问题:该工具在编译时不会自动编译xml配置文件,只是编译了mapper目录下的UserMapper.java接口的Java文件,查看下面的target目录如下:

解决以上编译问题,就需要在项目的pom.xml文件中做xml资源文件加载、编译的配置;如下所示是常用的三种路径下资源文件的配置,可根据自己情况选择性配置:
<build>
<!-- 配置资源文件加载目录,否则将有文件无法被加载;尤其是webapp目录下的jsp文件,即最后一个resource标签的配置 -->
<resources>
<!-- 加载并编译src/main/java目录下的xml文件 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!-- 加载并编译src/main/resources目录下的所有文件 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<!-- 加载并编译webapp目录下的所有文件到指定路径下 -->
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath><!-- 设定webapp下文件的编译路径 -->
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)