让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();
}
有人有什么主意吗?
答案 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文件。