发布网友 发布时间:2024-10-21 22:30
共1个回答
热心网友 时间:2024-11-10 08:27
【文章内容输出来源:拉勾教育Java高薪训练营】 --- 所有脑图均本人制作,未经允许请勿滥用 ---
【文章内容输出来源:拉勾教育Java高薪训练营】 --- 所有脑图均本人制作,未经允许请勿滥用 ---
脑图总览
图片可能存在更新延迟,最新脑图会在“传送门”中实时更新。
一、从持久层开始
1.1 持久层定义
专注于实现数据持久化的一个相对独立的领域,把数据保存到可掉电式存储设备中。负责向或从数据存储器中存储或获取数据。
1.2 早期JDBC
维护量巨大,一个接一个的持久层框架如Hibernate、MyBatis、Spring Data等诞生。
1.3 自定义持久层框架(借鉴Mybatis)
解决JDBC问题,设计框架并提供具体实现代码。有心者可深入研读,有助于理解Mybatis源码。
二、Mybatis由浅入深
2.1 Mybatis基本概念
对象/关系数据库映射:通过面向对象编程,将数据操作转化为数据库底层操作。
2.2 踏出第一步
学习Mybatis官网文档,使用官方教程简化步骤。
2.3 核心配置文件sqlMapConfig.xml
官方说明,包含基本配置、数据源、类型别名、动态SQL等。
2.4 复杂映射开发
一对一、一对多、多对多查询实现,基于配置或注解。
2.5 复杂映射开发(基于注解)
暂略...
2.6 Mybatis一级缓存
默认开启,实现为HashMap,生命周期在每条SqlSession中。
2.7 Mybatis二级缓存
跨SqlSession,基于mapper文件的namespace共享缓存。
2.7.1 打开二级缓存
需手动开启,需在UserMapper.xml中配置。
2.7.3 二级缓存整合Redis
借助Redis等分布式缓存,实现缓存的分布式工作。
三、Mybatis源码“斩杀”
深入剖析Mybatis源码流程,构建者模式、工厂模式、代理模式在Mybatis中的应用。