Mybatis模块介绍

79 阅读1分钟

Mybatis地址:

中文地址:mybatis.net.cn/

GitHub地址:
github.com/mybatis/myb…

源码下载地址:
github.com/mybatis/myb…

安装Git 后 直接 git clone
github.com/mybatis/myb… 就可以了

下面是下载的源码及模块信息

Mybatis源码结构

Mybatis整体架构和对应模块信息如下,个别包忽略

Mybatis架构

接口层是对外提供的统一接口,SqlSession,默认实现DefaultSqlSession,对外提供了增删改查的基础操作和提交,回滚,关闭资源;

同时还有获取config ,mapping,connection 我一直觉着从单一职责考虑,这几个方法和数据库操作放在一个接口上不是很合理,但也理解这是设计者通过"门面模式"降低接入的复杂度的一个方法。

Mybatis只是一个ORM框架,他也只是对JDBC的一个封装。通过上一篇JDBC的demo可以推理出来,核心处理层大致逻辑如下

执行流程

1、ParamHander: 将xml或者注解的SQL中的占位符参数替换

2、执行SQL语句

3、结果集处理,映射成Java的对象实体

时序图如下:

SqlSession执行时序图

后续的文章从接口层开始逐渐分析源码的各层结构,和设计思路以及设计模式在源码中的应用

下一篇将详细介绍一下SqlSession源码