IDEA的MyBatis框架的Mapper代理加载mapper.xml映射文件报错解决办法
2019年3月22日23:11:52今天使用IDEA搭建mybatis测试的时候加载代理映射文件报错
检查了好多遍也是报错,只好百度了一下从:啊林博士–点击查看详细信息
---------------------获得了解决办法。
---------------------正好顺便做一些总结:
首先是一些报错
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration.
Cause: java.io.IOException:
Could not find resource mybatis\mapper\OrdersCustom.xml
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)
at mybatis.test.Demo.demo01(Demo.java:19)
上面显示了 mybatis\mapper\OrdersCustom.xml找不到!
但是我们明明加载了-----这样的话问题就来了,我们使用接口代理来加载映射文件的前提是,接口类和映射文件放在同一个目录下。(这又跟IDEA要求把配置文件放在resource目录下相矛盾,把java代码放在resource又不行)
------这样我们看一下target 目录下有没有mapper.xml文件
所以我们要在pom.xml文件中配置项目不要忽略包目录下的xml文件,这样接口代理就能够加载同目录下的xml配置文件了
----复制如下代码:
<resources>
<!--IDEA不要忽略src目录下的xml文件,在pom.xml文件中添加代码-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
将上面的代码复制到prm.xml的build下就可以了
这样我们测试下就会看到代理配置文件就会出现在包路径下:
接着重新运行代码不会出错了
友情提示:
道路千万条,安全第一条
代码不规范,亲人两行泪