1.根据将xml配置文件变成输入流,并调用sqlSessionFactoryBuilder的build方法
static{ try { //使用Mybatis第一步:获取sqlSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } }
我们来看一下build方法源码
在build方法里面 调用了XMLConfigBuilder对象 用来解析配置文件流
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { SqlSessionFactory var5; try { XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties); var5 = this.build(parser.parse()); } catch (Exception var14) { throw ExceptionFactory.wrapException("Error building SqlSession.", var14); } finally { ErrorContext.instance().reset(); try { inputStream.close(); } catch (IOException var13) { } } return var5; }
然后实例化SqlSessionFactory
2.将配置文件信息 保存在Configuration对象中
executor是执行器 是MyBatis核心
tcm是事务管理器
3.创建SqlSession
建立sql语句,如果成功则返回,不成功则到事务管理器