Mybatis是什么?
Mybatis是一个ORM框架。
在ORM框架出来之前,我们如何操作DB?
用JDBC连接数据库操作,我们可以写一个JdbcUtil去操作。
如:Mybatis入门,从一个简单的JdbcUtil开始
为什么会出现ORM?
试想一下,手写一个JdbcUtil会存在什么问题?
数据库连接太昂贵?频繁获取释放连接严重影响性能?
每次操作数据库都要使用PreparedStatement 设置参数,太繁琐?
每次查询结果都要解析ResultSet转换成业务对象,太繁琐?
操作完成了,还要手动去关闭结果集?
还要手动管理事务?
还要防sql注入?
还要考虑便捷性、轻量级、对业务低入侵?
还要考虑可扩展性?
…
好了,为了解决这些问题,我们不断地去完善JdbcUtil,写着写着,发现写成了一个框架,这个框架就是类似的Mybatis。
那么Mybatis做了什么呢?
连接池管理
事务管理
缓存管理
sql集中管理
可扩展插件
**
整体架构图
**
好了,接下来我们就分几个步骤分析它的源码。
首先,在项目启动时,它是怎么解析并初始化相关配置的?
Mybatis源码分析——mybatis-config.xml解析
Mybatis源码分析——mapper.xml解析
Mybatis源码分析——配置文件解析的类图
其次,我们调用一个dao方法的时候,它是怎么解析sql,执行并返回结果给我们的?
Mybatis源码分析——如何为dao类生成代理对象
Mybatis源码分析——如何执行一条sql
Mybatis源码分析——sql执行过程的类图
最后,它是怎么预留接口给我们在运行时去改写sql的?事务又是如何管理的?
Mybatis源码分析——事务
上一篇 Mybatis入门,一个简单的demo
下一篇 Mybatis源码分析——mybatis-config.xml解析