IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml

最近在学习关于搭建MyBatis项目的初步入门时,总是在运行测试类时老是报java.io.IOException: Could not find resource mapping/UserMapper.xml的错误,后面发现是文件的名称有问题。
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第1张图片
我搭建的项目结构如下
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第2张图片
在resource下的IUserDao.xml是mybatis映射的路径,刚初学mybaits的人应该都知道,mybatis是通过映射XML文件中的sql语句来执行相应的数据库操作的,这个是Mybatis与你项目的连接点。
但时,该xml文件创建的位置必须和持久层接口在相同的包中,同时该名称必须以持久层接口来命名(就如上面红色和蓝色方框中那样)

然而,为什么弄出来的还是会报错呢?
原因就在于在resources下创建的包名不正确,我在文件中发现目录就为idea.mybatis.dao
在这里插入图片描述
之所以会这样,是我以为.就代表下一个路径(在src目录下创建包时就这样弄的),也就想当然的直接创建idea.mybatis.dao
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第3张图片
其实,正确的做法应该一是一层一层的创建
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第4张图片
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第5张图片
IDEA搭建MyBatis项目——异常报错java.io.IOException: Could not find resource idea/mybatis/dao/IUserDao.xml_第6张图片
再看一下目录发现
在这里插入图片描述
(⊙o⊙)…这不跟之前一样吗?没错,我也是这样想的,但时再看了一下文件中对应的目录结构
在这里插入图片描述
这样使得与持久层接口中的包相同了。

当然,运行时也便可以显示出对应的数据库中的信息啦

你可能感兴趣的:(MyBatis)