mybatis 找不到映射器xml文件

alias_888 2015-05-16 07:43:41
我用的idea,一个java web项目,src/main/下面有三个文件夹:java,resources,webapp。当我在配置mybatsi-config.xml的<mappers>时,当我把文件放在angus.mapper.StudentMapper接口的同目录下,并配置

<mappers>
<mapper resource="angus/mapper/StudentMapper.xml"/>

出现了找不到xml文件的,Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource angus/mapper/StudentMapper.xml
当我把StudentMapper.xml移动到resources文件夹(mybatis-config.xml也在这个文件夹)时,

<mappers>
<mapper resource="StudentMapper.xml"/>
</mappers>

就可以了。因为xml文件很多,不想放在resources文件夹中,而且将Mapper接口和xml文件放在一块更容易修改。请大神帮忙!!!!!!
还有:官方文档给出的下面几个方法是怎么使用的呢?
<!-- Using classpath relative resources -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
<!-- Using url fully qualified paths -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- Using mapper interface classes -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
<!-- Register all interfaces in a package as mappers -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
...全文
17664 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
敲bug的冰~ 2018-10-17
  • 打赏
  • 举报
回复 4
我用了这个方法还是报错
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
江南孤狼 2018-01-16
  • 打赏
  • 举报
回复
试一下这样配置:<mapper resource="angus.mapper/StudentMapper.xml"/> 看一下文件夹目录是不是建立的有问题
江南孤狼 2018-01-16
  • 打赏
  • 举报
回复
试一下这样配置:<mapper resource="angus.mapper.StudentMapper.xml"/> 看一下文件夹目录是不是建立的有问题
CodingPeasantC 2017-11-10
  • 打赏
  • 举报
回复
可能只有一楼读懂问题了. 可是解决方案不行. 八楼说说是怎么解决IDEA的问题啊.
W_Y__M 2017-11-02
  • 打赏
  • 举报
回复
多谢楼主,原来是idea的问题
Java码农老王 2017-10-31
  • 打赏
  • 举报
回复
加了<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources>
xtoo8672 2017-07-10
  • 打赏
  • 举报
回复
引用 3 楼 xiaocai1005 的回复:
楼主 终于解决这问题了 困扰我好久了 原因是: idea不会编译src的java目录的xml文件 所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹 具体操作方法就是:配置maven的pom文件配置,在<build>节点下添加<resources>代码: <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
之前一直是用eclipse开发,刚开始用idea,加了这段代码真的可以了,谢谢分享
vAuLt101 2016-08-01
  • 打赏
  • 举报
回复
引用 3 楼 xiaocai1005 的回复:
楼主 终于解决这问题了 困扰我好久了 原因是: idea不会编译src的java目录的xml文件 所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹 具体操作方法就是:配置maven的pom文件配置,在<build>节点下添加<resources>代码: <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
楼主真是解决我的问题了,但是我eclipse也报同样的问题,不知道是不是idea的原因,而且之前我没加这段配置也能 成功,但是过了段时间用idea就不行了,再用eclipse再试,也不行了。最后用楼主这方法解决了。。
Jeakiry 2015-12-21
  • 打赏
  • 举报
回复
引用 3 楼 xiaocai1005 的回复:
楼主 终于解决这问题了 困扰我好久了 原因是: idea不会编译src的java目录的xml文件 所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹 具体操作方法就是:配置maven的pom文件配置,在<build>节点下添加<resources>代码: <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
感谢楼主的分享 亲测可用
xiaocai1005 2015-09-07
  • 打赏
  • 举报
回复
楼主 终于解决这问题了 困扰我好久了

原因是: idea不会编译src的java目录的xml文件

所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹

具体操作方法就是:配置maven的pom文件配置,在<build>节点下添加<resources>代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
Inhibitory 2015-05-17
  • 打赏
  • 举报
回复
SpringMVC 集成 MyBatis,配置 mapper xml
    <!-- 2. SQL session factory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath:mybatis-mapper/**/*.xml" /> <!-- Mapper xml -->
    </bean>
可以参考Spring 集成 MyBatis http://qtdebug.com/java/13.%20Spring%20集成%20MyBatis.html
fglbee 2015-05-17
  • 打赏
  • 举报
回复
试一下这样配置 classpath*:/angus/mapper/StudentMapper.xml

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧