天天看点

Mybatis源码学习

Mybatis源码

最近开始学习 mybatis 源码,本地搭建了阅读仓库,想省劲的直接下载就可以

仓库地址

先了解一下mybatis 的大致加载流程:

  1. 加载配置文件
  2. 解析xml,并创建

    Configuration

    对象,对象里面包含了

    <configuration></configuration>

    标签里面(即mybatis)的所有配置
  3. 使用

    configuration

    创建

    SqlSessionFactory

    对象(实际是

    DefaultSqlSessionFactory

    对象,它是

    Mybatis

    SqlSessionFactory

    接口的默认实现,

    SqlSessionFactory

    重载了多个获取

    SqlSession

    的工厂方法)
    Mybatis源码学习
  4. 通过

    sqlSession

    获取自己写的

    mapper

    实例,并调用自己编写的

    mapper

    接口中的curd方法

再了解一下Mybatis体系中重要的类:

  1. SqlSession

    SqlSession

    可以理解为对数据库的一次或多次操作,类似于 JDBC中

    Connection

    对象的

    SqlSession

    对象,它在 Mybatis的体系中 是一个非常重要的类,包含了所有执行语句,提交或回滚事务,还有获取映射器实例的方法
  2. SqlSessionFactory

    SqlSessionFactory

    SqlSession

    的对象工厂,它是由

    SqlSessionFactoryBuilder

    解析xml配置文件而创建出来的