开发者社区> 爱编程厨师> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里P7架构师精解Mybatis源码,浅论程序员的修身之道

简介: Mybatis基本纲要 1. Mybatis组成 · 动态SQL · Config配置 · Mapper配置 2. 核心源码分析 · Configuration源码解析 · SqlSessionFactory源码解析 · SqlSession源码解析 · SqlSessionManager源码解析 3.
+关注继续查看
img_abde0dc73fdb17f4d565d01a1cc706f8.jpe

Mybatis基本纲要

1. Mybatis组成

· 动态SQL

· Config配置

· Mapper配置

2. 核心源码分析

· Configuration源码解析

· SqlSessionFactory源码解析

· SqlSession源码解析

· SqlSessionManager源码解析

3. 手写Mybatis框架

Mybatis是什么?

Mybatis本质是一种半自动的ORM框架,前身是iBatis,其源于“Internet”和“abatis”的组合,除了POJO和映射关系之外,还需要编写SQL语句;

img_69c58a78754c2a2442dd16554d841a42.jpe

Mybatis映射三要素:

POJO

映射规则

SQL

Mybatis快速入门

1. 加入mybatis的依赖

2. 添加mybatis的配置文件

3. 场景介绍

4. 编写实体类、mapper接口以及mapper xml文件;

5. 编写测试代码

MyBatis核心流程三大阶段

img_12c900517a9b8f58be9cb2d4ee089d30.jpe

1.初始化阶段

读取XML配置文件和数据库配置文件中的信息加载到configuration对象中;

img_52b9a9e25248e56c8d72ac40dd41546d.jpe

2.动态代理阶段

3.数据读写阶段

话说SqlSession

Sqlsession意味着创建数据库会话,代表了一次与数据库的连接;

 是Mybatis对外提供数据访问的主要API(来试试iBatis编程的方式吧);

 实际上Sqlsession的功能都是基于Excutor来实现的;

img_6bddd2fa905a586f31eb0b9fd1cf45be.jpe

MyBatis两种编程模型

 Mybatis封装了iBatis编程模型,使用sqlsession对外提供数据库的访问;

 使用mapper接口编程,就可以访问数据库;

简化版Mybatis实现思路

img_073079b6046481d853c9a7211d23fa91.jpe

论程序员的修身之道

看源码是Java程序员内功修炼必经之路

1. 看源码学习优雅、高效的代码编写经验;

2. 提升微观的架构设计能力,重点在思维和理念;

3. 解决工作中、学习中的各种疑难杂症;

4. 在BATJ一线互联网公司面试中展现优秀的自己;

小编这边保存了一套架构技术体系的图谱,有需要进阶的欢迎收藏:

高性能架构专题

img_a6f0f9c32d5850c59a426ece0291c27c.jpe

开源框架解析

img_d8b1af12100493db1665494876d871fa.jpe

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MyBatis源码学习(三)(下)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
24 0
SpringCloud微服务实战——搭建企业级开发框架(二十七):集成多数据源+Seata分布式事务+读写分离+分库分表
读写分离:为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作。   目前有多种方式实现读写分离,一种是Mycat这种数据库中间件,需要单独部署服务,通过配置来实现读写分离,不侵入到业务代码中;还有一种是dynamic-datasource/shardingsphere-jdbc这种,需要在业务代码引入jar包进行开发。
132 0
读源码【读mybatis的源码的思路】
读源码【读mybatis的源码的思路】
33 0
FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2
FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2
73 0
【Based Android】让你的android应用使用可爱的iphone备忘录字体
用过iphone的朋友一定会很记得ios系统自带的备忘录,里面的字体非常的可爱,所以大家有没有想过把这个字体弄到你的android设备中呢?                    其实android提供了非常方便的字体导入了方法了,这里不得不提到一个几乎快被大家遗忘了的一个文件夹assets.
796 0
【Based Android】让你的android应用使用可爱的iphone备忘录字体
用过iphone的朋友一定会很记得ios系统自带的备忘录,里面的字体非常的可爱,所以大家有没有想过把这个字体弄到你的android设备中呢?                    其实android提供了非常方便的字体导入了方法了,这里不得不提到一个几乎快被大家遗忘了的一个文件夹assets.
631 0
49
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载