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

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

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

源码解读

将配置文件读取到inputStream

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

解析配置文件

mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
XMLConfigBuilder:专门解析mybatis-config.xml配置文件的对象
mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件详细解读environments和mappers标签

解析environments标签

mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
此处用到了设计模式(构建者(Builder)模式):用于构建复杂对象的一种模式,所构建的对象往往 需要多步初始化或赋值才能完成
Builder模式就是使用一个代理完成对象的构建过程。这样的好处是易于扩展和类的使用,但同时也失去了一些效率

解析mappers

mybatis源码学习(二):源码解读之加载解析mybatis-config.xml配置文件
说明:mappers节点中会包含多个mapper节点,解析mapper.xml将在下一节中详细说明

SqlSessionFactory对象构建完成

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

核心类说明

SqlSessionFactoryBuilder

用于创建SqlSessionFactory实例

XMLConfigBuilder

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

Configuration

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

SqlSessionFactory

SqlSession管理工厂接口

相关文章: