扫描mapper.xml文件的问题

第一种情况
如果,xml文件不在resources目录下,而是在java文件下,如果不加配置,用maven进行打包时,默认不会将src/main/java目录下的XML文件打包进去。因为src/main/java被设定为了源码目录,默认只会将其中的Java文件进行编译打包。如:
在这里插入图片描述
在这里插入图片描述

首先,则需要在pom文件里配置

<build>
  <resources>
      <resource>
          <!-- xml放在java目录下-->
          <directory>src/main/java</directory>
          <includes>
              <include>**/*.xml</include>
          </includes>
          <filtering>false</filtering>
      </resource>
      <!--指定资源的位置(xml放在resources下,可以不用指定,因为maven默认会打包)-->
      <resource>
          <directory>src/main/resources</directory>
      </resource>
  </resources>
</build>

其次,在application.properties配置文件中配置

#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/atguigu/eduservice/mapper/xml/*.xml

这两步缺一不可。

第二种情况

xml文件在resources目录下,maven默认会打包
此时必须保证@MapperScan(basePackages)与xxxMapper.xml的路径一致,如
在这里插入图片描述
在这里插入图片描述
这种情况可以不用配置application.properties


版权声明:本文为weixin_43711204原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。