前言
由于MP的代码生成器把mapper接口绑定的写sql语句xml文件创建在java目录下,而Maven加载机制只会将.java
文件编译成.class
文件,所以在target目录下找不到写xml文件,于是会报以下异常
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
解决方法
方法1:复制xml文件到target目录中
方法2:将xml文件转移到resource目录中
方法3(推荐):
①在pom文件下引入如下,表示会编译src/main/java中的xml文件,注意build标签与dependencies标签同级
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
②在application.properties文件中加入如下配置
#配置xml文件的路径
mybatis-plus.mapper-locations=classpath:com/atguigu/eduservice/mapper/xml/*.xml