将 mybatis-config.xml 文件以 InputStream 形式载入的方法

  1. 通过 mybatis 自带的 Resources.getResourceAsStream() :
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));
  1. 通过 java.lang 包下,即 java 本身自带的 ClassLoader.getSystemClassLoader().getResourceAsStream():
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ClassLoader.getSystemClassLoader().getResourceAsStream("mybatis-config.xml"));

第 2 种方法即第 1 种方法的底层调用。

  1. 通过 java.lang 包下,即 java 本身自带的 ClassLoader.getSystemResourceAsStream():
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ClassLoader.getSystemResourceAsStream("mybatis-config.xml"));

尚不清楚第 3 种方法和第 2 种方法的区别。

  1. 通过 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)
posted @ 2023-02-08 20:09  HopeLive  阅读(79)  评论(0)    收藏  举报