关于Maven项目下使用Mybatis时,找不到mapper映射文件的问题

* 一般maven项目,dao的mapper映射文件会映射在resources下,创建同包同名的xml,这样是没问题的
  • 如下图:如果想在这个地方放xml,就找不到mapper映射文件了

  • 可以查看项目下的\target\classes的映射文件,这我就不展示了

  • 解决方法

  • 在pom.xml的build里添加

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <plugins>
    <!-- 资源文件拷贝插件 -->
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <configuration>
    <encoding>UTF-8</encoding>
    </configuration>
    </plugin>
    </plugins>
    <!-- 如果不添加此节点,mybatis的mapper.xml文件都会被漏掉。 -->
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    </resources>
  • 注意:

  • 刷新一下maven,然后clean,install一下,启动项目

  • 我启动项目报错了,不知道你们会不会,报错显示找不到spring_mvc.xml

  • 我想大概是之前默认映射是在resources目录下,修改映射路径过滤之后就找不到了

  • 然后我有添加了一段映射路径,就不报错了

  • 代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <build>	
    <plugins>
    <!-- 资源文件拷贝插件 -->
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <configuration>
    <encoding>UTF-8</encoding>
    </configuration>
    </plugin>
    </plugins>
    <!-- 如果不添加此节点,mybatis的mapper.xml文件都会被漏掉。 -->
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    <resource>
    <directory>src/main/resources</directory>
    <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    </resources>
    </build>
  • 以上是我自己的理解,当然是亲自测试过的

  • 希望对你们有帮助

------  本文到此结束感谢您的阅读  ------
请“Chen77”喝杯咖啡
0%
返回顶部小火箭
隐藏
显示