Mybatis SqlSessionFactory创建过程
2017-02-23 21:04
701 查看
1.客户端调用SqlSesisonFactoryBuilder.build,传入对象为SqlMapConfig文件流
2.根据sqlMapCconfig文件流--> 创建XMLConfigBuilder对象
3.直接创建XMLMapperEntityResolver,该对象是SqlMapConfig文件的DTD本地实例 作用:将远程DTD文件转化为本地文件
4.根据sqlMapConfig文件流,确定校验,XMLMapperEntityResolver实例对象 -->创建XPathParser . XPathParser作用:根据Xpath表达式获取基本的DOM节点Node信息的操作
6.根据传入的SqlMapConfig配置文件流--> 创建Document实例
7.返回XMLConfigBuilder实例.实例变量中有一个属性parsed,parserd=false. 代表并没有进行解析
8.调用XMLConfigBuilder实例实例的parse方法
9.在parse方法中,调用该实例属性的XPathParser,让它去处理SqlMapConfig配置文件的的<configuration>节点对应的Node对象,然后依次解析此Node节点的子Node:properties, settings, typeAliases,typeHandlers,objectFactory, objectWrapperFactory, plugins, environments,databaseIdProvider, mappers
10.将XML配置文件内的信息解析成Java对象Configuration
11.将上一步创建的Cofiguration对象作为参数,来创建DefaultSqlSessionFactory对象
12.返回一个DefaultSqlSessionFactory对象
相关文章推荐
- 【Mybatis源码分析】01-SqlSessionFactory的创建过程
- mybatis源码学习之执行过程分析(1)——SqlSessionFactory及SqlSession的创建
- mybatis底层原理学习(一):SqlSessionFactory和SqlSession的创建过程
- 在MyBatis中 SqlSessionFactory的创建过程
- Mybatis 源码分析一、 SqlSessionFactory的创建过程
- MyBatis 构建 SqlSessionFactory 过程
- mybatis源码分析(1)——SqlSessionFactory实例的产生过程
- MyBatis启动:SqlSessionFactory的建立过程
- mybatis创建SqlSessionFactory
- SqlSessionFactory创建SqlSession测试mybatis的sql
- Spring和Mybatis整合过程中遇到的一个找不到sqlSessionFactory或sqlSessionTemplate的异常
- Spring-mybatis整合配置错误,显示不能创建spring配置文件中的sqlSessionFactory的Bean
- Spring和Mybatis整合过程中遇到的Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required的异常
- MyBatis启动:SqlSessionFactory的建立过程
- MyBatis SqlSessionFactory的几种常见创建方式
- Spring-mybatis整合 获取properties 创建SQLSessionFactory失败
- mybatis源码分析之SqlSession的创建过程
- mybatis的探索过程之SqlSessionFactoryBuilder,SqlSessionFactory,SqlSession作用域和生命周期
- 在mybatis中怎么书写工具类,也就是创建一个sqlsessionFactory
- mybatis 3.4.2 启动过程-配置文件的解析与SqlSessionFactory的获得