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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序 springwebsocket 报错: Error during WebSocket handshak 403

    微信小程序 springwebsocket 报错: Error during WebSocket handshak 403

    2022年3月13日
    57
  • Java 使用 Tess4J 实现图像识别

    Java 使用 Tess4J 实现图像识别最近需要用Java做一个图像识别的东西,查了一些资料,在此写一个基于Tess4J的教程,方便其他人参考和使用。其实做图像识别,也可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。首先,下载Tess4J的相关资源(一个压缩包),官网:http://tess4j.source…

    2022年6月13日
    54
  • postman调用rpc接口_postman测试本地接口

    postman调用rpc接口_postman测试本地接口一般使用的接口类型都是http协议传输,第一次遇到RPC类型,使用postman进行测试。请求方式get或者post并不影响,URL是在域名后面加了/rpc,例如,https://www.baidu.com/rpcheaders:写了常规请求时的内容(头为空也不影响)body选择raw,{“jsonrpc”:“2.0”,“method”:“eth_getBalance”,“para…

    2022年10月10日
    2
  • Flume+Kafka整合案例实现

    Flume+Kafka整合案例实现 一、为什么要集成Flume和Kafka我们很多人在在使用Flume和kafka时,都会问一句为什么要将Flume和Kafka集成?那首先就应该明白业务需求,一般使用Flume+Kafka架构都是希望完成实时流式的日志处理,后面再连接上Flink/Storm/SparkStreaming等流式实时处理技术,从而完成日志实时解析的目标。第一、如果Flume直接对接实时计算框架,当数据采集速…

    2022年6月23日
    31
  • 中国石化测试面试题_中石化面试一般问什么

    中国石化测试面试题_中石化面试一般问什么面试过程:首先,上午进行面试人员签到,大约100人左右。一共要2个人。下午1点半开始统一面试。人员较多,所以每个人只有3分钟时间,一共最少8位面试官。过程中,他们很少提问题,如果你的技术比较新颖,会问你一些。例如SSH或SSM框架就没意思了。面试官问的面试题:以下都是对我当时的提问及个人回答。1.你都擅长哪些RPC技术。答:webservice或者restFul或者ICE微服务。2.你用过微服务…

    2022年10月15日
    1
  • malloc函数具体解释

    malloc函数具体解释

    2021年12月7日
    57

发表回复

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

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