IDEA编写MyBatis测试程序时报错:Could not find resource com/XXX/dao/IUserDao.xml

IDEA编写MyBatis测试程序时报错:Could not find resource com/XXX/dao/IUserDao.xml

1.前言

使用的IDE:IDEA2020.1
使用maven创建Java工程
使用junit测试
自己在学习MyBatis的时候运行程序总出错,网上查阅资料也没有完全解决问题。在多次尝试后终于解决,因此记录下来。

2.出错时的环境

在这里插入图片描述
可以看到,UserDao.xml是在src的resources路径下面,虽然其父路径在idea中显示为com.xxx.dao,但是在创建文件夹的时候是一级一级创建的,并且从文件夹可以看到的确是多级目录。
在这里插入图片描述
配置信息:

    <mappers>
        <mapper resource="com/xxx/UserDao.xml"/>
    </mappers>

测试中仍然报错:

 Could not find resource com/xxx/UserDao.xml

均不符合博客中的前两种情况。使用该博客中的第三种解决方案中的使用class加载和注解的形式可以运行。那如何让我的xml配置形式的程序跑起来?

3.解决方案

把UserDao.xml直接放到src下的resources目录下

在这里插入图片描述
配置信息

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

运行成功

User{id=41, username='老王', birthday=Tue Feb 27 17:47:08 CST 2018, sex='男', address='北京'}
User{id=42, username='小二王', birthday=Fri Mar 02 15:09:37 CST 2018, sex='女', address='北京金燕龙'}
User{id=43, username='小二王', birthday=Sun Mar 04 11:34:34 CST 2018, sex='女', address='北京金燕龙'}
User{id=45, username='传智播客', birthday=Sun Mar 04 12:04:06 CST 2018, sex='男', address='北京金燕龙'}
User{id=46, username='老王', birthday=Wed Mar 07 17:37:26 CST 2018, sex='男', address='北京'}
User{id=48, username='小马宝莉', birthday=Thu Mar 08 11:44:00 CST 2018, sex='女', address='北京修正'}

4.思考

为什么之前的配置中会出现错误?是因为使用junit测试,路径不对吗?还是其他原因呢?
请各位大佬多多指教!

5.后记

之前学习的时候以为以下配置只能用于使用注解,后面发现注解和xml配置都可使用

    <mappers>
        <package name="com.xxx.dao"/>
    </mappers>

此时的UserDao位置
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值