关于创建SqlSessionFactory的问题

来源:2-1 Mybatis单参数传递

你懂个屁啊

2018-08-13 17:19:20

Reader reader = Resources.getResourceAsReader(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

如上,在老师的代码中使用的是getResourceAsReader,在其他的资料中有看到使用getResourceAsStream的方法 代码如下

InputStream is = Resources.getResourceAsStream(RESOURCE);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);


请问这两者有什么区别呢

写回答

2回答

一叶知秋519

2018-08-13

1、两者在使用上并没有什么区别;是加载一个资源的多种方式,对于简单的只读文本数据,加载为 Reader,即:Reader getResourceAsReader(String resource);  对于简单的只读二进制或文本数据,加载为 Stream,即Stream getResourceAsStream(String resource); 

2、SqlSessionFactory定义为static:static修饰的变量会在类加载时的加载,以保证我们在使用SqlSessionFactory时,SqlSessionFactory的对象已经创建好了。

祝学习愉快!

0

你懂个屁啊

提问者

2018-08-13

还有就是SqlSessionFactory为什么要定义为static呢

0

0 学习 · 4317 问题

查看课程