maven构建项目,mybatis主配置文件找不到mapper文件

报错信息

Invalid bound statement (not found)

出现这种问题就是mapper文件无法和mapper接口映射,如果不是用maven构建,就可能是以下原因:

  1. mapper接口应该和mapper.xml在同级目录
  2. mapper.xml的namespace对应mapper接口带包名
  3. mapper.xml配置的语句标签的id和mapper接口的方法名不对应,还有入参和输出参数也须和方法的参数和返回结果对应
  4. 在mybatis主配置文件配置<mappers>在这里扫描mapper.xml</mappers>

但是呢,用maven构建的话以上问题都不存在还是报错解决方法

mapper配置文件和接口文件虽然在同一层,但是Maven编译项目的时候只会把src/main/java下所有的*.java和src/main/resources里的文件编译放入target/classes文件夹,所以位于src/main/java下的xml文件就被忽略了。此时只需要在项目的pom文件中加入resources,把src/main/java下所有的*.xml也编译放入target/classes然后启动项目就可以了。
如图:
在这里插入图片描述
代码:

	<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
发布了84 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yidou120/article/details/103533244