Skip to content

Latest commit

 

History

History
24 lines (22 loc) · 1.16 KB

README.md

File metadata and controls

24 lines (22 loc) · 1.16 KB

mini-mybatis

mini-mybatis是一个简单版本的mybatis实现,用于学习mybatis的核心功能实现。

查看效果

前置条件

  1. 需要安装mysql数据库
  2. 需要创建数据库skitii_mybatis
  3. 导入src/test/resources目录下的sql脚本skitii_mybatis.sql

运行src/test包下的ApiTest中测试方法可以查看mybatis的功能效果

运行mybatis-spring/test包下的SpringApiTest和SpringBootApiTest中测试方法可以查看mini-mybatis整合spring和springboot的效果

概览图

img.png

Mybatis核心功能实现

核心

如何写一些接口和xml就实现数据库的增删改查?在这个过程中mybatis做了些什么?

  1. 元数据管理,将定义xml格式解析元数据【也不一定是xml,也可能是Java注解等,如何扩展】
  2. 代理模式【动态代理】
  3. 数据库事务管理
  4. 具体的SQL语句执行【前置解析,参数处理,结果集解析,映射,后置逻辑处理】

高级特性

  1. 二级缓存实现原理
  2. 插件扩展实现原理
  3. spring整合实现原理