Mybatis源码分析——框架架构

Mybatis是一个解决数据库操作繁琐问题的ORM框架,它提供了连接池、事务管理、缓存、SQL集中管理和插件扩展等功能。文章通过整体架构图引入,详细介绍了Mybatis在项目启动时的配置解析、DAO方法执行SQL的过程以及事务管理,包括mybatis-config.xml和mapper.xml的解析、SQL执行的类图等。
摘要由CSDN通过智能技术生成

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解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值