mybatis进行测试时找不到配置文件:java.io.IOException: Could not find resource config/SqlMapConfig.xml 的解决

时间:2023-01-13 08:34:33

使用myeclipse来测试mybatis时出现IO异常,意思就是没有找到源文件


错误如下:

java.io.IOException: Could not find resource config/SqlMapConfig.xml
 at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:110)
 at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:97)
 at cn.mym.mybatis.first.UserMapperTe

我的文件路径放置如下:

mybatis进行测试时找不到配置文件:java.io.IOException: Could not find resource config/SqlMapConfig.xml 的解决

我的java测试代码:

@Test
public void findUserById() throws Exception{
String resource ="SqlMapConfig.xml";
//用输入流把核心映射文件引入
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建会话工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//创建会话:Sqlsession
SqlSession sqlSession = sqlSessionFactory.openSession();
//通过Sqlsession操作数据库
//参数1:映射文件中statement的id 等于:namespace+"."+statement的id
//参数2:指定和映射文件中所匹配的parameterType类型的参数
//selectOne结果是与映射文件中所匹配的resultType类型的对象
User user = sqlSession.selectOne("test.findUserById", 10);
System.out.println(user);

//释放资源
sqlSession.close();
}

使用debug单元测试就报错,源文件找不到。


原因:因为会去src路径下查找这个配置文件,但是不在src中就找不到

解决方法:两种

一、把主要配置文件放到src路径下,其他配置文件引入时注意路径。

二、把如图中的含有配置文件的文件夹设置成 一个源文件  。这样也会像src目录一样变成默认文件路径,所以就可以找到这个配置文件。

     方法:有配置文件夹上右键----》Build Path->Use as Source Folder

mybatis进行测试时找不到配置文件:java.io.IOException: Could not find resource config/SqlMapConfig.xml 的解决


希望有所帮助