阿里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
相关文章
|
3天前
|
人工智能 监控 安全
java基于微服务架构的智慧工地监管平台源码带APP
劳务管理: 工种管理、分包商管理、信息采集、班组管理、花名册、零工采集、 现场统计、考勤管理、考勤明细、工资管理、零工签证
18 4
|
1月前
|
安全 架构师 Java
理论实战源码齐飞!架构师社区疯传的SpringSecurity进阶小册真香
安全管理是Java应用开发中无法避免的问题,随着Spring Boot和微服务的流行,Spring Security受到越来越多Java开发者的重视,究其原因,还是沾了微服务的光。作为Spring家族中的一员,其在和Spring家族中的其他产品如SpringBoot、Spring Cloud等进行整合时,是拥有众多同类型框架无可比拟的优势的。
37 0
|
1月前
|
存储 运维 监控
Java基于云计算技术的B/S架构医院信息管理系统(简称云HIS)源码
基于云计算和SaaS模式的B/S架构云HIS是一种具有高可用性、高灵活性、低成本等优势的医院信息管理系统。它采用B/S架构,用户只需要安装一个浏览器就可以使用各种信息化服务。
29 0
|
1月前
|
小程序 Java 数据管理
Java前后端分离架构开发的智慧校园电子班牌系统源码(SaaS模式)
.智慧校园设备管理: 设备管理主要对班级中正在使用的电子智慧班牌进行管理,基本功能包含(开关机状态、班级信息、设备型号、开关机信息、电子智慧班牌截屏信息、教师编号、设备ID、在线和离线状态、电子智慧班牌更新时间等)
30 0
|
1月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
18天前
|
程序员 数据安全/隐私保护
架构人生,体魄同行:程序员的健康密码解析
架构人生,体魄同行:程序员的健康密码解析
54 0
|
1月前
|
SQL Java 数据库连接
MyBatis源码篇:mybatis拦截器源码分析
MyBatis源码篇:mybatis拦截器源码分析
|
1月前
|
缓存 Java 数据库连接
|
1月前
|
SQL Java 数据库连接
|
1月前
|
消息中间件 存储 架构师
鼓掌!阿里技术官亲荐“架构修炼宝典”,从基础到源码,一站到底
作为一名程序员,尽早确定自己的发展方向和路线是非常重要的,架构师则是其中的方向之一。很多程序员,奋斗大半辈子,是为了让自己成为一名合格且优秀的架构师,但是成为架构师并非一件易事,它对于技术方面的要求也是非常高的。

相关产品

  • 云迁移中心