mybatis错误——java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

Mybatis加载Mapper的xml出现java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

大家好,又见面了,我是全栈君。

在学习Mybatis的时候,参考网上的教程进行简单demo的搭建,配置的没有问题,然后出现了下面的错误!

  Exception in thread "main" java.lang.RuntimeException: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/mybatis/mapper/StudentMapper.xml
	at com.mybatis.util.MyBatisSqlSessionFactory.getSqlSessionFactory(MyBatisSqlSessionFactory.java:33)
	at com.mybatis.util.MyBatisSqlSessionFactory.main(MyBatisSqlSessionFactory.java:44)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/mybatis/mapper/StudentMapper.xml
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:106)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:89)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:77)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:63)
	at com.mybatis.util.MyBatisSqlSessionFactory.getSqlSessionFactory(MyBatisSqlSessionFactory.java:31)
	... 6 more
Caused by: java.io.IOException: Could not find resource com/mybatis/mapper/StudentMapper.xml
	at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:108)
	at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:95)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:315)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:104)
	... 10 more

最终通过上网查找找到了三种解决方案,现在整理总结!希望可以帮助到其他人!
在说解决方案之前,先申明我的环境!我会用的开发工具是IDEA ,项目构建使用Maven!网上一些教程使用的Eclipse开发工具,项目是普通的java web项目,所以开发工具和构建项目不同就会存在一些出入(坑)!

我项目的目录和xxxMapper.xml的位置如下图:
这里写图片描述

原因:IDEA是不会编译src的java目录的xml文件,所以在Mybatis的配置文件中找不到xml文件!(也有可能是Maven构建项目的问题,网上教程很多项目是普通的Java web项目,所以可以放到src下面也能读取到)

解决方案1:

不将xml放到src/main/java目录。而是放到src/resources目录,就是xxxMapper.xml放到Maven构建的resource目录下面!

解决方案2:
在Maven的pom文件中,添加下面代码:

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

解决方案2,参考资料:mybatis 找不到映射器xml文件

解决方案3:

我测试时候只有 mapper resource 这种方式加载不到资源,其他的url class和package都可以,如果想解决问题的话,可以不使用resource这种方式!

亲测三种方式都可以!如果还有其他好的解决办法欢迎留言一起学习讨论!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121169.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月26日 上午9:00
下一篇 2022年2月26日 上午10:00


相关推荐

  • redis 第二章:redis-desktop-manager的使用和jedis的使用[通俗易懂]

    redis 第二章:redis-desktop-manager的使用和jedis的使用[通俗易懂]redis 第二章:redis-desktop-manager的使用和jedis的使用

    2022年4月23日
    53
  • k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)

    k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)之前一直用 R 现在开始学 python 之后就来尝试用 Python 来实现 Kmeans 之前用 R 来实现 kmeans 的博客 笔记 多种常见聚类模型以及分群质量评估 聚类注意事项 使用技巧 聚类分析在客户细分中极为重要 有三类比较常见的聚类模型 K mean 聚类 层次 系统 聚类 最大期望 EM 算法 在聚类模型建立过程中 一个比较关键的问题是如何评价聚类结果如何 会用一些指标来评价

    2026年3月16日
    3
  • SMO算法最通俗易懂的解释

    SMO算法最通俗易懂的解释我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~SVM通常用对偶问题来求解,这…

    2022年6月30日
    28
  • python os.environ.set_os.environ详解

    python os.environ.set_os.environ详解我们想要用 Python 获得一些有关系统的各种信息的时候就不得不想到 os 的 environ 那这里面都具体包含了那些内容呢 简介对于官方的解释 environ 是一个字符串所对应环境的映像对象 这是什么意思呢 举个例子来说 environ HOME 就代表了当前这个用户的主目录 例子比如刚刚举例的 os environ HOME 在 linux 中适用而在 windows 下面是没有这个 key 的 在 windo

    2026年3月18日
    2
  • ODT珂朵莉树「建议收藏」

    ODT珂朵莉树「建议收藏」珂朵莉树の由来珂朵莉树(或称ODT(OldDriverTree老司机树))这毒瘤算法由CodeForces-896CWillem,ChthollyandSeniorious的正解衍化而来由于其骗分暴力的非正统算法思想虽然很多时候在随机数据下跑时不错但切记这只是骗分暴力,时间复杂度上并不正确什么时候用珂朵莉树珂朵莉树一般用来解决本来应当由线段树解决的区间类问题而使…

    2025年10月16日
    4
  • ConcurrentSkipListMap学习笔记

    ConcurrentSkipListMap学习笔记JDK 版本 AdoptOpenJDK 0 10 91 基本概念 ConcurrentSk 是在 JDK1 6 中新增的 为了对高并发场景下的有序 Map 提供更好的支持 它有几个特点 高并发场景 key 是有序的添加 删除 查找操作都是基于跳表结构 SkipList 实现的 2 跳表 SkipList 跳表 SkipList 是一种类似于链表的数据结构 其查询 插入 删除的时间复杂度都是 O logn 在传统的单链表结构中 查找某个元素需要从链表的头部按顺序遍历

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号