我们知道使用MyBatis前是需要初始化的,我们来看一段代码:
String resource = "mybatis.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
List list = sqlSession.selectList("edu.zhwei.mapper.sqlId");
上述代码所经历的阶段:
1.读取配置文件并创建SqlSessionFactory
2.获得sqlSession
3.执行查询
而MyBatis的初始化就在阶段1中,更准确的说是在第三行代码,根据配置文件,创建立SqlSessionFactory对象。那就让我们看一看这一行代码究竟发生了什么。
SqlSessionFactoryBuilder
相关源码:
public SqlSessionFactory build(InputStream inputStream) {
return build(inputStream, null, null);
}
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
try {
//创建XMLConfigBuilde