23

要想精通Mybatis?从手写Mybatis框架开始吧!

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzU2Njg3OTU1Mg%3D%3D&%3Bmid=2247483888&%3Bidx=1&%3Bsn=05ce930d16ab6d6e973718de14fa9d0b&%3Butm_source=tuicool&%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

还没关注?

快动动手指!

聊技术、论职场!

为IT人打造一个“有温度”的 狸猫技术窝

1、Mybatis组成

  • 动态SQL

  • Config配置

  • Mapper配置

2、核心源码分析

  • Configuration源码解析

  • SqlSessionFactory源码解析

  • SqlSession源码解析

  • SqlSessionManager源码解析

3、手写Mybatis框架

Mybatis是什么?

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

yMFveiU.jpg!web

Mybatis映射三要素:

  • POJO

  • 映射规则

  • SQL

Mybatis快速入门:

  1. 加入mybatis的依赖

  2. 添加mybatis的配置文件

  3. 场景介绍

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

  5. 编写测试代码

MyBatis核心流程三大阶段:

2qaUbmf.jpg!web

  • 1.初始化阶段

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

7RZree3.jpg!web

  • 2 .动态代理阶段

  • 3.数据读写阶段

话说SqlSession 

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

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

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

nuei63Q.jpg!web

MyBatis两种编程模型:

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

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

简化版Mybatis实现思路

QbYJVzq.jpg!web

END

作者: 烟雨满楼

来源:

https://segmentfault.com/a/1190000017464534

本文版权归作者所有

长按下图二维码,即刻关注【 狸猫技术窝

阿里、京东、美团、字节跳动

顶尖技术专家 坐镇

为IT人打造一个 “有温度” 的技术窝!

QjAra2y.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK