mybatis源码阅读之SqlSessionFactory创建
来源:互联网 发布:php验证码源代码 编辑:程序博客网 时间:2024/06/16 07:58
很早就学习了mybatis,但是一直没有对mybatis有深入的研究,最近看了mybatis的使用文档,准备研究下mybatis的底层实现。推荐大家看看这个专栏:
深入了解Mybatis原理
1.先来看看代码上是如何创建SqlSessionFactory
- 读取配置文件mybatis-config.xml,变成输入流。
- SqlSessionFactory的创建者SqlSessionFatoryBuilder通过build()方法创建SqlSessionFactory
2.SqlSessionFactory创建过程
图我是使用http://www.draw.io在线画图构建的。
在我的github上有http://www.draw.io可以直接导入的xml文件或是直接下载查看的图片。
图片的地址:https://github.com/bluesnail95/UML/tree/master/MyBatis
3.各片段源码分析
(1)在1中的new SqlSessionFactoryBuilder().build(inputStream)调用的是SqlSessionFactoryBuilder类中的以下方法。
(2)调用重载方法build()初始化Configuration
(3)XMLConfigBuilder
调用XPathParser的构造方法创建配置文件输入流的Document
XMLConfigBuilder调用父类的构造方法创建了Configuration
(2)中的parser.evalNode(“/configuration”)获取的是在mybatis-config.xml中的configuration元素。然后调用parseConfiguration()方法解析configuration元素下的其他子元素,包括properties,settings,mappers等等。
解析configuation元素过程
(4)解析完xml,初始化Configuration之后,创建DefaultSqlSessionFactory。这个也是最终我们用来创建SqlSession的工厂。
- mybatis源码阅读之SqlSessionFactory创建
- 【Mybatis源码阅读之SqlSessionFactory 何时实例化】
- myBatis源码学习之SqlSessionFactory
- mybatis之 SqlSessionFactory单例创建
- mybatis源码学习之执行过程分析(1)——SqlSessionFactory及SqlSession的创建
- Mybatis源码阅读之SqlSession创建
- Mybatis SqlSessionFactory创建过程
- mybatis创建SqlSessionFactory
- Mybatis 源码分析一、 SqlSessionFactory的创建过程
- Mybatis 之 SqlSessionFactory
- mybatis入门之SqlSessionFactory
- Mybatis源码分析之SqlSessionFactory,SqlSession和连接池
- MyBatis核心SqlSessionFactory的创建
- MyBatis核心SqlSessionFactory的创建
- MyBatis核心SqlSessionFactory的创建
- Mybatis源码阅读之数据库连接
- mybatis源码解析(二)生成SqlSessionFactory
- MyBatis的SqlSessionFactory的创建问题
- Linux启动/停止/重启Mysql数据库
- 中断处理程序上半部和下半部
- 小测试Extra:实现两个百位整数的加法练习
- CTF/php的弱类型总结(积累中)
- Linux内核设计与实现读书笔记
- mybatis源码阅读之SqlSessionFactory创建
- R语言版本升级
- JQuery 自动触发事件
- 关于android 经典蓝牙开发 使用UUID连接的问题
- 安卓高手之路之 GDI图形引擎篇
- 安卓高手之路之 应用篇
- DB2基础知识学习
- Linux awk 命令
- 算法——算法分析