Mybatis执行过程源码分析
一. 通过Resources这个类获取一个输入流,加载mybatis的核心配置文件.
二. 然后创建SqlSessionFactoryBuilder实例通过build()方法去读取这个输入流,得到一个工厂对象
其中:
第一步. 底层会创建一个装载配置文件的类XMLConfigBuild
第二步通过这个类的对象的parse()方法去真正获取一个装载了所有配置文件的类对象configuration,该对象封装了我们在mybatis.xml中配置的所有信息.
第三步,就这样,一个包含了所有配置信息的工厂对象sqlSessionFactory诞生了
三 . 通过工厂建立sqlSession对象,每一个线程都独立拥有自己的sqlSession,该对象包含了执行sql的executor执行器,执行器包含了缓存信息等重要信息.
四 . 通过sqlSession获取一个mapper的代理实现类,执行特定接口里的方法
五 . 执行完成后,有异常则回滚,没有则提交
Mybatis执行过程源码分析相关推荐
- MyBatis(二)MyBatis基本流程源码分析
MyBatis体系结构 MyBatis的工作流程 在MyBatis启动的时候我们要去解析配置文件,包括全局配置文件和映射器配置文件,我们会把它们解析成一个Configuration对象,里面会包含各种 ...
- dubbo服务执行过程源码分析
在之前的讲解中,我们说明了springboot和dubbo的整合使用,但对很多同学来说,可能还并不是很清楚dubbo内部的执行流程,如果要弄清楚dubbo的运行流程的话就需要跟踪源码进行分析,这是一个 ...
- springmvc执行过程源码分析
1:tomcat启动,创建容器过程: 通过load-on-start标签指定1,创建DispatcherServlet对象, DispatcherServlet的父类是继承HttpServlet的,它 ...
- 【SRIO】5、Xilinx RapidIO核例子工程源码分析
目录 一.软件平台与硬件平台 二.打开例子工程 三.例子工程详解 3.1 工程概述 3.2 工程结构 3.3 工程分析 四.工程源码分析 3.1 顶层模块srio_example_top.v源码分析 ...
- 5.Xilinx RapidIO核例子工程源码分析
https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...
- 小明分享|8ms平台下工程源码分析
今天小明为大家分享的是开发工具平台-8ms(www.8ms.xyz)工程源码分析 1.打开"8ms平台",创建工程制作完UI后,选中"编译"一栏,等待结束后,选 ...
- SpringMVC执行流程源码分析
SpringMVC执行流程源码分析 我们先来看张图片,帮助我们理解整个流程 然后我们开始来解析 首先SpringMVC基于Servlet来运行 那么我们首先来看HttpServletBean这个类 他 ...
- 【源码分析】storm拓扑运行全流程源码分析
[源码分析]storm拓扑运行全流程源码分析 @(STORM)[storm] 源码分析storm拓扑运行全流程源码分析 一拓扑提交流程 一stormpy 1storm jar 2def jar 3ex ...
- Android应用程序启动Binder线程源码分析
Android的应用程序包括Java应用及本地应用,Java应用运行在davik虚拟机中,由zygote进程来创建启动,而本地服务应用在Android系统启动时,通过配置init.rc文件来由Init ...
最新文章
- 基础必备 | Python处理文件系统的10种方法
- 73款阿里巴巴开源软件详解
- 推荐阅读20101115
- int 9中断例程-;在屏幕中间依次显示'a'~'z',并可以让人看清。 在显示的过程中,按下Esc键后,改变显示的颜色...
- 科大星云诗社动态20210301
- [JavaWeb-Servlet]Servlet相关配置
- java设计模式代理模式_Java中的代理设计模式
- 计算机科学分为几个部分,计算机由几部分组成各部分的功能是什么
- oracle00333,Oracle数据库REDO损坏ora-00333修复手札
- 一步一步重构柔性数组和智能指针
- 刀下留人--苹果开发者账号封号前挽救
- C++运算符重载(简单易懂)
- Kafka(四).KafkaJAVA 基础API
- java winrar_Java使用winrar解压缩 | 学步园
- 第五次作业:项目分类
- ajax 用js直接访问服务器的一个例子
- 实验 6 文件打包与解压缩
- 编写测试用例基本要求、非功能性测试和状态迁移法介绍
- android定制系统横评,拒骚扰挡风险 Android安全卫士软件横评
- python面试常见知识点收集,长期更新