最近一直在学习SpringBoot的相关内容,在整合Mybaits的时候踩了个大坑。

尤其是使用了IDEA编辑器,而且还使用了由IDEA生成的目录结构的情况下。我这两个都赶上了…

这个坑的原理其实也很简单:

IDEA在编译程序的时候是不会把标记为源码目录中的静态资源文件发布出去的…

所以,要是像在eclipse中那样把Mybatis的mapper文件和源码放在同一目录中的话,就会导致下面的错误:

也就是Mybaits无法找到mapper的错误。

解决办法有两种:

  • 1.将mapper文件放到resource资源目录中,然后修改SpringBoot的配置文件

mybatis.mapper-locations: classpath:xxx/*.xml 重新指定SpringBoot的扫描目录

  • 2.直接使用Mybatis的注解方式进行mapper配置则不会触发上面的问题

  • 3.在pom配置文件中添加打包配置

[java] view plain copy
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>