当前位置: 首页 > news >正文

MyBatisPlus 全面学习路径

MyBatisPlus 全面学习路径

学习目录

第一部分:MyBatisPlus 基础

  1. MyBatisPlus 简介与核心特性
  2. 快速入门与环境搭建
  3. 核心功能:BaseMapper 与 CRUD 接口
  4. 条件构造器(Wrapper)详解
  5. ActiveRecord 模式
  6. 主键策略与通用枚举

第二部分:MyBatisPlus 进阶

  1. 代码生成器(AutoGenerator)
  2. 自定义 SQL 与 SQL 注入器
  3. 分页插件与自定义分页
  4. 性能分析插件与执行 SQL 分析
  5. 乐观锁插件实现
  6. 多租户 SQL 解析器
  7. 动态表名 SQL 解析器

第三部分:MyBatisPlus 高级特性

  1. 逻辑删除实现
  2. 自动填充功能
  3. 多数据源支持
  4. MyBatisPlus 与 Spring Boot 深度整合
  5. MyBatisPlus 与 Spring Cloud 整合
  6. MyBatisPlus 扩展点与自定义全局操作

第四部分:MyBatisPlus 实战应用

  1. 复杂查询构建最佳实践
  2. 批量操作性能优化
  3. 多表关联查询方案
  4. 事务管理策略
  5. 与缓存框架整合
  6. 企业级应用架构设计

第五部分:MyBatisPlus 源码解析

  1. 核心架构与执行流程
  2. SQL 注入原理分析
  3. 插件机制实现原理
  4. 条件构造器实现原理
  5. 扩展点设计与实现

详细学习内容

第一部分:MyBatisPlus 基础

1. MyBatisPlus 简介与核心特性
  • MyBatisPlus 与 MyBatis 的关系
  • 核心特性概述:无侵入、损耗小、强大 CRUD、多种策略等
  • 适用场景分析
2. 快速入门与环境搭建
  • Spring Boot 整合 MyBatisPlus
  • 基础依赖配置
  • 第一个 MyBatisPlus 示例
  • 配置日志打印
3. 核心功能:BaseMapper 与 CRUD 接口
  • BaseMapper 内置方法详解
  • 插入操作:insert vs insertBatch
  • 删除操作:物理删除与逻辑删除
  • 更新操作:updateById vs update
  • 查询操作:selectById, selectBatchIds, selectByMap
  • 分页查询基础
4. 条件构造器(Wrapper)详解
  • QueryWrapper 基础使用
  • LambdaQueryWrapper 类型安全写法
  • 条件构造方法:eq, ne, gt, ge, lt, le, between, like 等
  • 嵌套条件:and, or
  • 条件排序:orderBy, orderByDesc
  • 选择字段:select
5. ActiveRecord 模式
  • ActiveRecord 模式介绍
  • 实体类继承 Model
  • ActiveRecord 的 CRUD 操作
  • 与 BaseMapper 模式对比
6. 主键策略与通用枚举
  • 主键策略:AUTO, NONE, INPUT, ASSIGN_ID, ASSIGN_UUID
  • 自定义主键生成策略
  • 通用枚举处理
  • 类型处理器配置

第二部分:MyBatisPlus 进阶

1. 代码生成器(AutoGenerator)
  • 代码生成器配置详解
  • 全局配置、数据源配置
  • 包配置、策略配置
  • 自定义模板生成
  • 多模块代码生成
2. 自定义 SQL 与 SQL 注入器
  • 自定义 SQL 的几种方式
  • @Select, @Update 等注解使用
  • XML 映射文件使用
  • 自定义 SQL 注入器实现
  • 扩展 BaseMapper 功能
3. 分页插件与自定义分页
  • 分页插件配置
  • Page 对象使用
  • IPage 接口详解
  • 自定义分页 SQL 处理
  • 多表关联分页方案
4. 性能分析插件与执行 SQL 分析
  • 性能分析插件配置
  • SQL 执行效率监控
  • 慢 SQL 定位与优化
  • 格式化 SQL 输出
5. 乐观锁插件实现
  • 乐观锁原理介绍
  • @Version 注解使用
  • 乐观锁插件配置
  • 并发更新测试案例
  • 乐观锁与悲观锁对比
6. 多租户 SQL 解析器
  • 多租户概念与实现方案
  • TenantSqlParser 配置
  • 租户 ID 上下文管理
  • 排除特定表的租户过滤
  • 自定义租户处理器
7. 动态表名 SQL 解析器
  • 动态表名使用场景
  • 动态表名解析器配置
  • 基于参数的表名动态替换
  • 分表分库初步方案

第三部分:MyBatisPlus 高级特性

1. 逻辑删除实现
  • 逻辑删除 vs 物理删除
  • @TableLogic 注解配置
  • 全局逻辑删除配置
  • 逻辑删除的查询影响
  • 恢复逻辑删除数据
2. 自动填充功能
  • @TableField 自动填充配置
  • 实现 MetaObjectHandler
  • 插入时自动填充
  • 更新时自动填充
  • 自定义填充策略
3. 多数据源支持
  • 动态数据源配置
  • 多数据源事务管理
  • 读写分离实现
  • 多数据源下的分页处理
  • 多数据源路由策略
4. MyBatisPlus 与 Spring Boot 深度整合
  • 自动配置原理分析
  • 自定义 MyBatisPlus 配置
  • 多环境配置管理
  • 与 Spring Boot Actuator 集成
  • 健康检查与指标监控
5. MyBatisPlus 与 Spring Cloud 整合
  • 分布式环境下的主键生成
  • 微服务间的数据一致性
  • 与 Spring Cloud Config 整合
  • 与 Nacos 配置中心整合
  • 分布式事务初步方案
6. MyBatisPlus 扩展点与自定义全局操作
  • ISqlInjector 自定义注入
  • 自定义全局操作方法
  • 拦截器原理与实现
  • 执行 SQL 前/后处理
  • 结果集自定义处理

第四部分:MyBatisPlus 实战应用

1. 复杂查询构建最佳实践
  • 多条件动态查询构建
  • 子查询实现方案
  • 嵌套查询处理
  • 查询性能优化建议
  • 避免 N+1 查询问题
2. 批量操作性能优化
  • 批量插入性能对比
  • 批量更新实现方案
  • 流式查询处理大数据
  • JDBC 批处理配置
  • 事务与批量操作
3. 多表关联查询方案
  • 一对一关联查询
  • 一对多关联查询
  • 多对多关联处理
  • 嵌套结果 vs 嵌套查询
  • 自定义结果集映射
4. 事务管理策略
  • 声明式事务管理
  • 编程式事务控制
  • 事务传播行为
  • 事务隔离级别
  • 分布式事务方案
5. 与缓存框架整合
  • 一级缓存与二级缓存
  • 与 Ehcache 整合
  • 与 Redis 缓存整合
  • 缓存一致性保障
  • 缓存击穿解决方案
6. 企业级应用架构设计
  • DAO 层设计规范
  • Service 层封装策略
  • DTO 与 VO 转换
  • 领域模型设计
  • 模块化分层架构

第五部分:MyBatisPlus 源码解析

1. 核心架构与执行流程
  • MyBatisPlus 整体架构
  • SQL 执行核心流程
  • 与 MyBatis 的集成点
  • 配置加载过程
  • 扩展点体系结构
2. SQL 注入原理分析
  • Mapper 接口代理机制
  • SQL 注入器工作流程
  • 方法名与 SQL 的映射
  • 动态 SQL 生成原理
  • SQL 语句重写机制
3. 插件机制实现原理
  • MyBatis 插件机制回顾
  • 拦截器链构建过程
  • 分页插件实现分析
  • 乐观锁插件实现分析
  • 自定义插件开发指南
4. 条件构造器实现原理
  • AbstractWrapper 核心设计
  • 条件表达式解析
  • SQL 片段生成算法
  • Lambda 表达式处理
  • 参数绑定机制
5. 扩展点设计与实现
  • 关键扩展接口分析
  • 自定义主键生成器
  • 自定义类型处理器
  • 元对象处理器扩展
  • SQL 解析器扩展
http://www.xdnf.cn/news/1052155.html

相关文章:

  • 《仿盒马》app开发技术分享-- 回收金提现记录查询(端云一体)
  • java 集合 泛型
  • 第2讲、LangChain应用架构与核心组件:构建LLM应用的基石
  • 访问网页的全过程
  • 电脑端应用使用统计工具,精准分析你的习惯
  • wordpress外贸独立站搭建步骤
  • Appium框架下载时卡主的解决办法(ERR_TLS_CERT_ALTNAME_INVALID)
  • kicad运行时出错,_Pnext->_Myproxy = nullptr;访问内存出错解决措施
  • 华为OD机试_2025 B卷_磁盘容量排序(Python,100分)(附详细解题思路)
  • 互联网大厂Java求职面试:AI与大模型技术在电商系统中的架构设计与性能优化
  • ​​信息系统项目管理师-项目整合管理 知识点总结与例题分析​​
  • C++多线程与并发中线程池设计、锁优化
  • Linux入门(十八)read函数
  • 第十六届蓝桥杯国赛(2025)C/C++B组 蓝桥星数字 独家解析
  • Python 基础语法 (4)【适合0基础】
  • 幻休 v3.0.02 | AI趣味呼吸 助眠音乐 冥想音频
  • Java微服务框架技术选型全景报告
  • LangGraph--Agent常见的模式2(并行、数据路由)
  • 链表(C语言)—学习笔记
  • 淘宝/天猫API系列-商品列表页采集接口教程
  • win10 乌班图系统安装(推荐)
  • 安装前端vite框架,后端安装fastapi框架
  • 第二十章 Centos8的使用
  • 苏州SAP代理商:哲讯科技助力企业数字化转型
  • CSS 第四天 复合选择器、CSS特性、背景属性、显示模式
  • 前端api中使用data传参源码解释
  • 第8章:Neo4j性能优化
  • SCADA|KingSCADA4.0中历史趋势控件与之前版本的差异
  • Codeception中如何使用Fixtures优化测试
  • 说说聚合路由器