mybatis源码分析2 - SqlSessionFactory的创建
1 主要类
初始化mybatis的过程,其实就是创建SqlSessionFactory单例的过程。下面是一个简单的初始化例子。
String resource = "main/resources/SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
初始化流程大致分为如下几步
- mybatis读取全局xml配置文件,解析XML中各个节点元素
- 将节点元素键值对,设置到Configuration实例的相关变量中
- 由Configuration实例创建SqlSessionFactory单例对象
我们先来分析初始化过程中涉及的主要类
1.SqlSessionFactoryBuilder:用来创建SqlSessionFactory实例,典型的builder链式创建模式。
2.XMLConfigBuilder:主要有三个作用:
- 解析XML文件,生成XNode
mybatis源码分析2 - SqlSessionFactory的创建相关推荐
- mybatis源码分析3 - sqlSession的创建
1 引言和主要类 初始化mybatis,也就是创建完单例SqlSessionFactory后,就进入到了mybatis的运行阶段.mybatis每次的运行都是通过SqlSession对象来进行,它是运 ...
- Mybatis 源码探究 (3)创建 SqlSessionFactory对象 执行sqlSession.getMapper()方法
Mybatis 源码探究 (3)创建 SqlSessionFactory对象 时隔许久,终于又能接着来搞他啦.Mybatis 一起来探究吧. 先笑会再进入主题吧 开始啦 一.new SqlSessio ...
- mybatis源码分析之事务管理器
2019独角兽企业重金招聘Python工程师标准>>> 上一篇:mybatis源码分析之Configuration 主要分析了构建SqlSessionFactory的过程中配置文件的 ...
- MyBatis 源码分析 - 插件机制
1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...
- MyBatis 源码分析 - 缓存原理
1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...
- MyBatis 源码分析 - SQL 的执行过程
本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...
- MyBatis 源码分析系列文章导读
1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...
- MyBatis 源码分析-技术分享
2019独角兽企业重金招聘Python工程师标准>>> MyBatis 源码分析 MyBatis的主要成员 Configuration MyBatis所有的配置信息都保存在Confi ...
最新文章
- FreeBSD Ports加速的方法
- 文巾解题 175. 组合两个表
- 警惕Oracle DB操作高压线
- linux中控和安卓中控哪个比较好,原厂中控和改装中控有什么区别?哪个更好?...
- Linux定时任务:crontab安装与检查
- 高阶函数-sort()与sorted() (三分钟读懂)
- Java前端顺序,java种初始化顺序
- Java 下的函数对象
- MyBatis之sql映射文件
- UE4 遮挡剔除文档
- java mrp模拟器_MRP模拟器(冒泡官方版)好用吗_MRP模拟器(冒泡官方版)怎么样_MRP模拟器(冒泡官方版)3.811用户评论-AppChina应用汇...
- 用户故事,史诗故事和主题故事
- matlab 输入Angstrom (埃,埃米,Angstrom 或ANG或Å)
- 双显卡(Intel+Nvidia)笔记本配置cuda开发环境
- wetool 接入图灵机器人_wetool企业版wetool支持微信版本-免费版
- 【运筹学】对偶理论 : 互补松弛定理应用 ( 原问题与对偶问题标准形式 | 已知原问题最优解求对偶问题最优解 | 使用单纯形法求解 | 使用互补松弛定理公式一求解 | 互补松弛定理公式二无效 ) ★★
- ROS系统中编写多个C++文件时,主文件调用其它文件函数或类时出现:对“xxxxxx“未定义的引用问题记录
- CAD基础+常用快捷(三)
- 计算用户输入的日期离1900年1月1日相距多少天。日期要大于1900(注意闰年,每个月份天数不一样)
- Zigbee定位技术下的隧道人员定位--隧道定位--新导智能