Mybatis源码分析——框架架构

Mybatis是什么?
Mybatis是一个ORM框架。

在ORM框架出来之前,我们如何操作DB?
用JDBC连接数据库操作,我们可以写一个JdbcUtil去操作。
如:Mybatis入门,从一个简单的JdbcUtil开始

为什么会出现ORM?
试想一下,手写一个JdbcUtil会存在什么问题?
数据库连接太昂贵?频繁获取释放连接严重影响性能?
每次操作数据库都要使用PreparedStatement 设置参数,太繁琐?
每次查询结果都要解析ResultSet转换成业务对象,太繁琐?
操作完成了,还要手动去关闭结果集?
还要手动管理事务?
还要防sql注入?
还要考虑便捷性、轻量级、对业务低入侵?
还要考虑可扩展性?

好了,为了解决这些问题,我们不断地去完善JdbcUtil,写着写着,发现写成了一个框架,这个框架就是类似的Mybatis。

那么Mybatis做了什么呢?
连接池管理
事务管理
缓存管理
sql集中管理
可扩展插件

**

整体架构图

**
Mybatis源码分析——框架架构_第1张图片

好了,接下来我们就分几个步骤分析它的源码。

首先,在项目启动时,它是怎么解析并初始化相关配置的?
Mybatis源码分析——mybatis-config.xml解析
Mybatis源码分析——mapper.xml解析
Mybatis源码分析——配置文件解析的类图

其次,我们调用一个dao方法的时候,它是怎么解析sql,执行并返回结果给我们的?
Mybatis源码分析——如何为dao类生成代理对象
Mybatis源码分析——如何执行一条sql
Mybatis源码分析——sql执行过程的类图

最后,它是怎么预留接口给我们在运行时去改写sql的?事务又是如何管理的?
Mybatis源码分析——事务


上一篇 Mybatis入门,一个简单的demo
下一篇 Mybatis源码分析——mybatis-config.xml解析

你可能感兴趣的:(Mybatis)