最近在学Mybatis,按照视频的讲解在项目的某个包里创建配置文件,而后读取配置文件,可是一直提示异常。
html
读取配置文件的为官方代码:java
String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession();
通过反复思考,视频用的ide是eclipse,eclipse里在包下的配置文件(.propoties 和.xml等)编译以后会自动复制到编译后的文件夹中,也就是classes目录。所以代码能够经过路径加载到配置文件。spring
而如今咱们使用的是IntelliJ IDEA,idea对这些配置的文件方式很明显和eclipse是不一样的。在idea中有一个 Content Roots的概念。须要为每个folder配置相应的Content Roots。Content Roots包括resources、sources、tests等。
如图所示:sql
那么对于idea来讲,就有如下几种解决方案。session
以上两种解决方案适用于make project方式来编译项目。mybatis
若是是maven项目。还能够经过配置pom.xml来实现。mvc
<build> <finalName>springmvc-study</finalName> <resources> <resource> <directory>${basedir}/src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> </resource> </resources> </build>
这样不用对idea设置,也可使用maven的编译命令编译项目,并复制配置文件到编译好的文件夹中。intellij-idea