首先我们要清楚的是配置解析的过程全部只解析了两种文件。一个是mybatis-config.xml 全局配置文件。另外就是可能有很多个的Mapper.xml 文件,也包括在Mapper 接口类上面定义的注解。

我们从mybatis-config.xml 开始。在第一节课的时候我们已经分析了核心配置了,大概明白了MyBatis 有哪些配置项,和这些配置项的大致含义。这里我们再具体看一下这里面的标签都是怎么解析的,解析的时候做了什么。

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

首先我们new 了一个SqlSessionFactoryBuilder,非常明显的建造者模式,它里面定义了很多个build 方法的重载,最终返回的是一个SqlSessionFactory 对象(单例模式)。我们点进去build 方法。

这里面创建了一个XMLConfigBuilder 对象(Configuration 对象也是这个时候创建的)。

MyBatis 源码解读-配置解析过程相关推荐

  1. MyBatis 源码分析 - 配置文件解析过程

    文章目录 * 本文速览 1.简介 2.配置文件解析过程分析 2.1 配置文件解析入口 2.2 解析 properties 配置 2.3 解析 settings 配置 2.3.1 settings 节点 ...

  2. Mybatis源码:@MapperScan解析过程

    目录 0.说明 1.@MapperScan 2. MapperScannerRegister 3.ClassPathMapperScanner 4. MapperFactoryBean 0.说明 my ...

  3. MyBatis 源码解读-会话创建过程

    这是第二步, 我们跟数据库的每一次连接, 都需要创建一个会话, 我们用openSession()方法来创建. DefaultSqlSessionFactory -- openSessionFromDa ...

  4. Spring源码-applicationcontext.xml解析过程

    为什么80%的码农都做不了架构师?>>>    Spring源码-applicationcontext.xml解析过程 核心流程:Spring中对于applicationcontex ...

  5. Mybatis源码解读-设计模式总结

    虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式. Mybatis至少 ...

  6. 2020年Mybatis源码解读

    目录标题 为什么需要ORM 框架Mybatis ORM框架-前身是Ibatis Mysql映射文件三要素: Mybatis 单独开发-快速入门 mybatis核心配置xml resultType 还是 ...

  7. MyBatis源码-解读Executor的三个实现类之SimpleExecutor(简单执行器)

    文章目录 Pre Executor 执行器 接口继承关系 SimpleExecutor(简单执行器) 入门小demo 实例化SimpleExecutor doQuery方法 Pre MyBatis源码 ...

  8. 从Chrome源码看DNS解析过程

    DNS解析的作用是把域名解析成相应的IP地址,因为在广域网上路由器需要知道IP地址才知道把报文发给谁.DNS是Domain Name System域名系统的缩写,它是一个协议,在RFC 1035具体描 ...

  9. MyBatis源码-解读Executor的三个实现类之BatchExecutor(批处理执行器)

    文章目录 Pre Executor 执行器 接口继承关系 BatchExecutor(重用执行器) 入门小demo 源码 BatchExecutor VS ReuseExecutor Pre MyBa ...

最新文章

  1. java正则表达式课程_通过此免费课程学习正则表达式
  2. 换种监控姿势:基于深度学习+流处理的时序告警系统
  3. 千万级通用的分页存储过程
  4. python语言程序设计基础网课-Python语言程序设计基础答案
  5. Struts2 action之间相互跳转传递参数
  6. 李嘉诚亲自指导:阿尔法狗战何洁
  7. 冲刺第六天 1.7 MON
  8. vGPU作为主流平台的进化之路
  9. python转c报错no module named_python异常No module named 'win32com'
  10. Linux下tensorflow1.13.1 C++ API的编译和使用
  11. 8102年底如何开发和维护一个npm项目
  12. 【渝粤教育】国家开放大学2018年秋季 1248T公共部门人力资源管理 参考试题
  13. C++引用之引用的使用
  14. Qt学习之路(一):动态添加/删除控件
  15. 蓝桥基础练习 杨辉三角形 JAVA
  16. 关于安装VS2005后‘找不到visual studio模板信息’的解决方法
  17. 初探TweenMax 动画
  18. 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
  19. mysql查询同名同姓重名人数_查全国同名同姓,怎样查重名人数查询
  20. list移除元素时报错

热门文章

  1. webpack4.x加vue模板文件简单还原vue-cli
  2. [转]Sql Server 分页存储过程
  3. Qt之QStackedWidget
  4. JAVA语法基础 动手动脑及课后作业
  5. [SoapUI] 在Test Step 下加Script Assertion,用 messageExchange 获取当前步骤的response content...
  6. 中国海外投资在非洲市场的开放政策
  7. 大话设计模式—模板方法模式
  8. oracle 的一些基础查询
  9. 最没节操的地下匿名社交创始人,可以拯救Google+?
  10. 读书笔记2013-1--暗时间(刘未鹏)