mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件

你离开我真会死。 提交于 2019-12-10 08:47:01

mybatis-config.xml配置文件结构说明

  • configuration(配置)
    • 属性(properties)
    • 设置(settings)
    • 类型别名(typeAliases)
    • 类型处理器(typeHandlers)
    • 对象工厂(objectFactory)
    • plugins(插件)
    • environments(环境配置)
    • databaseIdProvider(数据库厂商标识)
    • mappers(映射器)

每个配置的详细说明及使用:https://mybatis.org/mybatis-3/zh/configuration.html#plugins

源码解读

将配置文件读取到inputStream

在这里插入图片描述在这里插入图片描述在这里插入图片描述

解析配置文件

在这里插入图片描述
XMLConfigBuilder:专门解析mybatis-config.xml配置文件的对象
在这里插入图片描述
在这里插入图片描述详细解读environments和mappers标签

解析environments标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处用到了设计模式(构建者(Builder)模式):用于构建复杂对象的一种模式,所构建的对象往往 需要多步初始化或赋值才能完成
Builder模式就是使用一个代理完成对象的构建过程。这样的好处是易于扩展和类的使用,但同时也失去了一些效率

解析mappers

在这里插入图片描述
说明:mappers节点中会包含多个mapper节点,解析mapper.xml将在下一节中详细说明

SqlSessionFactory对象构建完成

在这里插入图片描述

核心类说明

SqlSessionFactoryBuilder

用于创建SqlSessionFactory实例

XMLConfigBuilder

XML配置解析器(用于解析:mybatis-config.xml)

Configuration

管理 mysql-config.xml 全局配置关系类

SqlSessionFactory

SqlSession管理工厂接口

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!