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

标签: mybatis xml not-fond mybatis错误
8087人阅读 评论(10) 收藏 举报
分类:

在学习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目录下面,将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

查看评论

springMVC整合mybatis时候配置mybatis-config异常

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceI...
  • allen19901008
  • allen19901008
  • 2014-06-12 11:19:37
  • 10862

IDEA Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource ***

报错: org.apache.ibatis.exceptions.PersistenceException: Error building SqlSession. T...
  • huo920
  • huo920
  • 2017-11-03 20:29:27
  • 299

idea中配置使用mybatis出现问题BuilderException

在Idea编辑其中配置使用Mybatis出现BuilderException问题,问题描述如下: 2015-07-16 15:43:32,751 DEBUG [org.apache.ibatis.l...
  • WitsMakeMen
  • WitsMakeMen
  • 2015-07-16 16:09:32
  • 15781

mybatis+springmvc测试出现的奇怪问题

mybatis+springmvc测试出现的奇怪问题
  • a806970740
  • a806970740
  • 2015-04-17 09:49:57
  • 3596

java.io.IOException: Could not find resource SqlMapConfig.xml at org.apache.ibatis.io.Resources.get

java.io.IOException: Could not find resource SqlMapConfig.xml at org.apache.ibatis.io.Resources.get...
  • fang_yunliang
  • fang_yunliang
  • 2017-06-02 21:08:14
  • 1913

java.io.IOException: Could not find resource SqlMapConfig.xml

问题的来源:当我们在项目中和src同级的目录创建一个文件config时,在此文件中编写了SqlMapConfig.xml , 此时我们需要读取此配置文件来创建SqlSessionFactory 来作为...
  • JJ_nan
  • JJ_nan
  • 2017-03-19 17:11:55
  • 5404

IDEA搭建mybatis项目之异常:java.io.IOException: Could not find resource mapping/UserMapper.xml

IDEA搭建mybatis项目之异常:java.io.IOException: Could not find resource mapping/UserMapper.xml由Eclipse转用IDEA...
  • qq_23184291
  • qq_23184291
  • 2017-09-25 20:26:25
  • 1257

MyBatis配置报错java.io.IOException: Could not find resource mybatis-conf.xml

参考:http://blog.csdn.net/u010648555/article/details/70880425 本人用的也是IDEA,maven搭建的项目。 项目目录如下: ...
  • jeanFlower
  • jeanFlower
  • 2017-07-09 17:03:50
  • 3880

source路径等问题 idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)

http://blog.csdn.net/witsmakemen/article/details/46913425 在Idea编辑其中配置使用Mybatis出现BuilderException问...
  • haluoluo211
  • haluoluo211
  • 2016-08-30 16:31:14
  • 5365

找不到文件异常java.io.IOException: Resource [classpath:shiro.ini] could not be found.

情景 tomcat启东时,老是报错,在classpath下找不到配置文件,但是配置文件已经放在resource目录下了 解决方案 出现该异常的原因,是因为新建的conf文件夹,识...
  • Evan_Leung
  • Evan_Leung
  • 2016-07-01 10:19:50
  • 2723
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 57万+
    积分: 6825
    排名: 4304
    联系方式
    其实我想要  一种美梦睡不着  一种心脏的狂跳  瓦解界线不被撂倒 奔跑 依靠  我心中最想要  看你看过的浪潮  陪你放肆地年少  从你眼神能找到 解药 -林俊杰【伟大的渺小】

    QQ:742981086

    java编程艺术 600756207 共同学习!

    ------------

    GitHub

    个人博客

    博客专栏
    最新评论