首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyBatis 3.0.5和映射器加载问题

MyBatis 3.0.5和映射器加载问题
EN

Stack Overflow用户
提问于 2011-09-26 15:00:50
回答 1查看 13.5K关注 0票数 5

我使用的是MyBatis 3.0.5,在将映射器作为资源加载方面存在问题。我在Windows 7 64上,我使用EclipseIndigo64bit和jdk7 64。MyBatis是在中初始化的(在该容器中,rest服务是用jersey框架实现的)独立实例。

代码语言:javascript
复制
<mappers>
        <mapper
            url="file:///C:/Users/andrea/workspace/soap2rest/src/main/java/com/izs/mybatis/FormMapper.xml" />
        <mapper resource="src/main/java/com/izs/mybatis/FormMapper.xml" />
    </mappers>

我有相同的映射器只用于测试,第一个是加载的,第二个不能工作。错误:

代码语言:javascript
复制
org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in src/main/java/com/izs/mybatis/FormMapper.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
    at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:32)
    at com.izs.Main.initMyBatis(Main.java:114)
    at com.izs.Main.main(Main.java:80)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:85)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:69)
    at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:30)
    ... 2 more
Caused by: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml
    at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:89)
    at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:76)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:253)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:83)
    ... 4 more
Exception in thread "main" java.lang.NullPointerException
    at com.izs.Main.initMyBatis(Main.java:122)
    at com.izs.Main.main(Main.java:80)

对不起我的英语。

解决方案: Maven项目希望src/main/resources和src/test/用于测试。因此,解决方案是将xml映射器放入这些文件夹中。

EN

回答 1

Stack Overflow用户

发布于 2011-09-26 21:53:23

不要使用绝对路径。它使您的代码在其他环境中不可移植且未使用。只是相对可以接受。对于您的示例,我想您可以使用以下相对路径:

代码语言:javascript
复制
<mapper resource="com/izs/mybatis/FormMapper.xml" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7557111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档