搞Mybatis的时候出现一个错,报错信息如题.

主要是映射文件加载的问题.

假如java文件夹中跟resources文件夹中的目录是一一对应,也就是下面这样

main java com swifter mapper UserMapper.java
resources com swifter mapper UserMapper.xml

上面这样的实际目录结构(在文件夹中)是不会有问题的,java文件跟xml文件会打包到同一个目录下,如下图

但是通过idea在resources中创建的实际目录结构是下面这样┑( ̄Д  ̄)┍

main java com swifter mapper UserMapper.java
resources com.swifter.mapper UserMapper.xml

打包之后实际目录结构如下图,xml文件被打包到一个名叫com.swifter.mapper的文件夹,这就导致xml文件找不到.

解决方法:

  1. 实际文件夹中创建文件结构
  2. java跟xml文件放到同一个文件夹,然后在pom.xml中添加如下内容:
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

--EOF--