MyBatis找不到mybatis-config.xml

时间:2018-11-06 20:23:19

标签: java mybatis

让MyBatis(3.4.6)工作起来有些麻烦。

我已将我的 mybatis-config.xml 文件放置在项目的 src / main / resources 文件夹中,但是当我运行单元测试时,出现以下错误

> java.io.IOException: Could not find resource mybatis-config.xml   at
> org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:114)

这是我用来读取XML文件的代码。

String resource = "mybatis-config.xml";
try 
{
    InputStream inputStream = Resources.getResourceAsStream(resource);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

} catch (IOException ex) {

    ex.printStackTrace();
}

有人有什么主意吗?

5 个答案:

答案 0 :(得分:0)

这完全取决于您的Resources类在做什么。也许尝试使用“ /mybatis-config.xml”(请注意斜杠)。

答案 1 :(得分:0)

感谢大家的投入,我发现了哪里出了问题。

这是我在15年的编程中看到的最奇怪的Eclipse配置问题,以某种方式将项目中的所有XML文件都标记为TEXT文件。

认为可能是该迁移到IntelliJ的时候了。

答案 2 :(得分:0)

我意识到这是一个古老的问题,但是对于那些偶然发现的人,除了用于常规代码的那个文件之外,我还会将该config.xml文件放在src / test / resources下。您可能需要其他测试配置。

答案 3 :(得分:0)

您可以使用SQLMapClient来读取SqlConfig文件。

private static String path= "/sqlmap-config.xml";

public static SqlMapClient getSqlMapInstance() throws IOException {
        Reader reader = Resources.getResourceAsReader(path);
        sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);

        return sqlMapClient;

    }

确保您的sqlmap-config.xml位于类路径resoures文件夹中。

答案 4 :(得分:0)

如果使用IDEA,则可以尝试将资源文件夹标记为根资源文件,以便程序可以找到xml文件。