![img_abde0dc73fdb17f4d565d01a1cc706f8.jpe](https://yqfile.alicdn.com/img_abde0dc73fdb17f4d565d01a1cc706f8.jpeg?x-oss-process=image/resize,w_1400/format,webp)
Mybatis基本纲要
1. Mybatis组成
· 动态SQL
· Config配置
· Mapper配置
2. 核心源码分析
· Configuration源码解析
· SqlSessionFactory源码解析
· SqlSession源码解析
· SqlSessionManager源码解析
3. 手写Mybatis框架
Mybatis是什么?
Mybatis本质是一种半自动的ORM框架,前身是iBatis,其源于“Internet”和“abatis”的组合,除了POJO和映射关系之外,还需要编写SQL语句;
![img_69c58a78754c2a2442dd16554d841a42.jpe](https://yqfile.alicdn.com/img_69c58a78754c2a2442dd16554d841a42.jpeg?x-oss-process=image/resize,w_1400/format,webp)
Mybatis映射三要素:
POJO
映射规则
SQL
Mybatis快速入门
1. 加入mybatis的依赖
2. 添加mybatis的配置文件
3. 场景介绍
4. 编写实体类、mapper接口以及mapper xml文件;
5. 编写测试代码
MyBatis核心流程三大阶段
![img_12c900517a9b8f58be9cb2d4ee089d30.jpe](https://yqfile.alicdn.com/img_12c900517a9b8f58be9cb2d4ee089d30.jpeg?x-oss-process=image/resize,w_1400/format,webp)
1.初始化阶段
读取XML配置文件和数据库配置文件中的信息加载到configuration对象中;
![img_52b9a9e25248e56c8d72ac40dd41546d.jpe](https://yqfile.alicdn.com/img_52b9a9e25248e56c8d72ac40dd41546d.jpeg?x-oss-process=image/resize,w_1400/format,webp)
2.动态代理阶段
3.数据读写阶段
话说SqlSession
Sqlsession意味着创建数据库会话,代表了一次与数据库的连接;
是Mybatis对外提供数据访问的主要API(来试试iBatis编程的方式吧);
实际上Sqlsession的功能都是基于Excutor来实现的;
![img_6bddd2fa905a586f31eb0b9fd1cf45be.jpe](https://yqfile.alicdn.com/img_6bddd2fa905a586f31eb0b9fd1cf45be.jpeg?x-oss-process=image/resize,w_1400/format,webp)
MyBatis两种编程模型
Mybatis封装了iBatis编程模型,使用sqlsession对外提供数据库的访问;
使用mapper接口编程,就可以访问数据库;
简化版Mybatis实现思路
![img_073079b6046481d853c9a7211d23fa91.jpe](https://yqfile.alicdn.com/img_073079b6046481d853c9a7211d23fa91.jpeg?x-oss-process=image/resize,w_1400/format,webp)
论程序员的修身之道
看源码是Java程序员内功修炼必经之路
1. 看源码学习优雅、高效的代码编写经验;
2. 提升微观的架构设计能力,重点在思维和理念;
3. 解决工作中、学习中的各种疑难杂症;
4. 在BATJ一线互联网公司面试中展现优秀的自己;
小编这边保存了一套架构技术体系的图谱,有需要进阶的欢迎收藏:
高性能架构专题
![img_a6f0f9c32d5850c59a426ece0291c27c.jpe](https://yqfile.alicdn.com/img_a6f0f9c32d5850c59a426ece0291c27c.jpeg?x-oss-process=image/resize,w_1400/format,webp)
开源框架解析
![img_d8b1af12100493db1665494876d871fa.jpe](https://yqfile.alicdn.com/img_d8b1af12100493db1665494876d871fa.jpeg?x-oss-process=image/resize,w_1400/format,webp)