1.SqlSessionFactoryBuilder通过构造器build调用build构造方法
2.build构造方法调用XMLConfigBuilder这个类解析了**(inputStream, environment, properties)**
3.解析完后传给Configuration这个对象(Configuration中包含了所有的配置内容)
4.之后SqlSessionFactory实例化,获取sqlSession(事务在这一层去做,相当于原来的Connection)
5.sqlSession里面有一个executor执行器,executor执行mapper,mapper通过反射加载出类的所有信息,包括了sqlSession,sqlSession中又有缓存executor执行器(executor把自己套进去了),套进去后开始执行sql语句,sql从配置文件中读取.
成功执行sql语句提交事务,失败回滚.
对第5步做一些简单的解释: sqlSession中包括了运行一个sql语句所需的条件,包括事务,执行器,加载器等.但就是没有sql语句,于是通过反射获取到了接口以及接口下类的所有信息,就有了sql语句,mapper只是放这所有信息的变量 . 于是有条件又有语句就可以执行sql语句了.