普通的java项目路径:
案例1:创建的一个resourcefloder文件夹config
类加载器:只要是在src目录下的文件都可以加载到,也就是加载类路径下的文件(bin目录),getClassLoader().getResourceAsStream。
mybatis的resource也是加载类路径下的文件,前提需要导入mabatis的jar包。
由于创建的一个resourcefloder文件夹config,所以对应的文件路径:
获取文件的方式:
InputStream inputStream = new FileInputStream(“config/sqlMapConfig.xml”);
或者
InputStream inputStream =Resources.getResourceAsStream(“sqlMapConfig.xml”);
或者
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(“sqlMapConfig.xml”);
案例2:创建的一个floder文件夹file
对应的文件目录:
获取文件的方式:
InputStream inputStream = new FileInputStream(“file/sqlMapConfig.xml”);
类加载器只能加载类路径下的文件,所以这里不能用类加载器加载
maven项目:
mybatis的resource.getResourceAsStream(“路径+文件”);
getResourceAsStream获取的路径是类加载路劲,
所以如果是maven项目,加载路径就是 target/class,和target/test-class.
案例1:maven项目获取图中的xml文件
首先文件在src/main/java/…下面,所以测试类mybatisTest执行的时候,类加载路径target/class,
所以获取xml代码就是:
InputStream inputStream = new FileInputStream(“src/main/java/test/sqlMapConfig.xml”);
或者
InputStream inputStream = Resources.getResourceAsStream(“test/sqlMapConfig.xml”);
案例2:如果xml直接在src/main/resources下面
对应文件位置:
获取代码就是:
InputStream inputStream = new FileInputStream(“src/main/resources/sqlMapConfig2.xml”);
或者磁盘绝对路径:
InputStream inputStream = new FileInputStream(“D:/bos2.0/mybatis- demo1/target/classes/sqlMapConfig2.xml”);
或者
InputStream inputStream = Resources.getResourceAsStream(“sqlMapConfig2.xml”);
xml文件放在 src/test/java 、 src/test/resources 和上面类似