1.SqlSessionFactoryBuilder使用构造器模式解析配置文件mybatis-config.xml来构建SqlSessiionFactory
2.SqlSessionFactory有一个成员变量configuration,通过XmlConfigBuilder、XmlMapperBuilder、XmlStatementBuilder分工解析配置文件,
这个三个都继承了BaseBuilder类,BaseBuilder有一个成员变量Configuration
3.XmlConfigBuilder解析主配置文件,主要包含那environment(datasource)、plugins(责任链模式增强)、mapper(有四个方式配置package、class、resource、url)
4.XmlMapperBuilder解析mapper.xml文件,主要包含cache(装饰者设计模式,像套娃一样一层包一层 SerializedCache、LoggingCache、SynchronizedCache)、ResultMap对象、sql语句
5.XmlStatemntBuilder解析sql语句,解析成MappedStatement对象,包含一个sqlsource包装的MixedSqlNode对象有,mixedSqlNode包含很多sqlNode集合