一、问题描述
项目中创建mapper接口,在xxxMapper.xml文件中编写sql,执行出现错误。
- 这个错误是由maven默认机制造成的问题。
- maven加载时,把java文件里面.java类型的文件进行编译,如果是其它类型文件,则不会加载。
- dao层编译后只有class文件,没有mapper.xml,因为maven工程在默认情况下,src/main/java目录下的所有资源文件是不发布到target目录下的。
二、解决方式
1、复制xml文件到target目录中
2、把xml文件放到resources目录中
3、推荐使用:通过配置实现
(1)在guli_edu的pom文件中配置如下节点
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
重新打包项目会发现target目录下出现了xml文件夹
(2)在Spring Boot配置文件中添加配置
#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/guli/edu/mapper/xml/*.xml
版权声明:本文为m0_46414046原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。