将 mybatis-config.xml 文件以 InputStream 形式载入的方法
- 通过 mybatis 自带的 Resources.getResourceAsStream() :
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));
- 通过 java.lang 包下,即 java 本身自带的 ClassLoader.getSystemClassLoader().getResourceAsStream():
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ClassLoader.getSystemClassLoader().getResourceAsStream("mybatis-config.xml"));
第 2 种方法即第 1 种方法的底层调用。
- 通过 java.lang 包下,即 java 本身自带的 ClassLoader.getSystemResourceAsStream():
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ClassLoader.getSystemResourceAsStream("mybatis-config.xml"));
尚不清楚第 3 种方法和第 2 种方法的区别。
- 通过 new FileInputStream() 自行构造:
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(new FileInputStream("mybatis-config.xml"));
该方法在 IDEA 下测试不通过:
Exception in thread "main" java.io.FileNotFoundException: mybatis-config.xml (系统找不到指定的文件。)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111)
at com.powernode.mybatis.test.MybatisIntroductionTest.main(MybatisIntroductionTest.java:18)

浙公网安备 33010602011771号