美文网首页
MyBatis 源码分析篇 1:概览

MyBatis 源码分析篇 1:概览

作者: 兆雪儿 | 来源:发表于2019-04-19 14:24 被阅读0次

    1 MyBatis 工作流程

    从前面的文章(Mybatis 文档篇 1:开始使用)我们可以知道,MyBatis 作为 ORM 框架,其核心作用是包装了传统繁杂的 JDBC 代码,支持映射,使开发者可以省去大量的 sql 拼写、参数传递和处理返回结果的工作。我们再次梳理一下 MyBatis 的工作流程。

    MyBatis 的核心功能入口为 SqlSession,它包含了面向数据库执行 SQL 命令所需的所有方法。要想获取 SQLSession 就需要构建 SqlSessionFactory,SqlSessionFactory 由 SqlSessionFactoryBuilder 构建,而 SqlSessionFactoryBuilder 的创建需要读入 Configuration 的所有配置。获取到 SqlSession 之后,我们可以通过 SqlSession 获取 Mapper,接着可以调用想要执行的 SQL 语句(对应 Mapper 接口中的方法或 Java 注解)来执行数据库操作而不用关心连接的建立、关闭等底层操作。最后 MyBatis 会自动映射数据库返回的结果集到我们想要的类型。至此,即完成一次完整的操作。

    具体工作流程如下图所示:

    mybatis 流程图

    2 MyBatis 源码构成

    在进入源码阅读前,我们先从整体上来认识一下 MyBatis 的源码组成。每个功能模块对应源码的各个包,从 SqlSession 作为入口,包含上层的执行器、参数和结果集映射、插件、SQL 解析等以及底层的数据源模块、事务管理模块、缓存、日志、类型转换等功能模块。

    源码构成图 源码包结构

    附:

    当前版本:mybatis-3.5.0
    官网文档:MyBatis
    项目实践:MyBatis Learn
    手写源码:MyBatis 简易实现

    相关文章

      网友评论

          本文标题:MyBatis 源码分析篇 1:概览

          本文链接:https://www.haomeiwen.com/subject/bpitgqtx.html