持久化技术Mybatis知识精讲【形成知识体系篇】
环境要求
JDK1.8及以上版本
MySQL数据库
Apache Maven 3.6.1构建工具
IDEA/VSCode/Eclipse开发工具任选其一
- 思维导图:Xmind ZEN
技术要求
- 熟悉Java语言
- 熟悉数据库技术
- 熟悉Maven项目管理工具
- 熟悉使用IDEA/VSCode开发工具
学习建议
MyBatis的学习分为四个阶段:了解---->>入门--->>熟悉--->>拓展
了解阶段:请参考官方指导文档入门学习基础知识。
https://mybatis.org/mybatis-3/zh/index.html
入门阶段:能把MyBatis技术灵活应用于实际项目中。
熟悉阶段:研究MyBatis原理、MyBatis源码。
拓展阶段:基于Mybatis框架,进行封装和扩展,例如开发扩展插件:形如Mybatis-plus,Mybatis-generator等。
适合人群
本教程适合:
想要学习 MyBatis持久化框架的小伙伴
零散学习过 MyBatis ,没有系统化学习深入MyBatis的小伙伴
对 MyBatis 开源代码的内部和底层感兴趣的小伙伴
知识导图

本教程以任务为驱动:12个学习案例+通用代码机(全网首发)

说明:
- study-mybatis-chapter01:Mybatis开发环境搭建:客户查询入门程序
- study-mybatis-chapter02:主配置文件mybatis-config.xml使用
- study-mybatis-chapter03:映射器配置XML标签型应用实战
- study-mybatis-chapter04:映射器SQL注解应用实战
- study-mybatis-chapter05:Provider注解应用实战
- study-mybatis-chapter06:动态SQL应用实战
- study-mybatis-chapter07:Mybatis高级查询应用实战
- study-mybatis-chapter08:Mybatis大批量数据入库应用实战
- study-mybatis-chapter09:Mybatis调用存储过程或函数应用实战
- study-mybatis-chapter10:Mybatis 缓存应用实战
- study-mybatis-chapter11:生成Mybatis 注解型源代码,区别于:Mybatis-generator
- study-mybatis-chapter12:生成Mybatis XML型源代码
- study-mybatis-chapter13:集成Springboot

你会学到什么
- 配置文件、Mapper 映射文件的编写和设计
- Mybatis持久化技术在企业中的应用场景【电商平台核心功能一案到底】
- MyBatis 中的注解使用详解
- MyBatis 中的缓存、事务、插件等机制
- MyBatis 的整体生命周期、执行流程全剖析
- MyBatis 中使用到的设计模式详解
- 自己动手二次封装 MyBatis
版本更新
- 2022年02月12日:发布【MyBatis框架概述】章节,简易入门程序,体会Mybatis特征及工作原理;
- 2022年03月06日:发布 【MyBatis的XML核心配置】章节,主配置和映射器案例分析;
- 2022年06月05日:发布【MyBatis注解】章节,SQL注解和Provider注解实现;
- 2022年07月08日:发布【MyBatis动态SQL】章节,动态SQL各元素和动态SQL实战案例分析;
- 2022年08月11日:发布【MyBatis的高级查询】章节,关联映射、分页、存储过程和函数应用等实战案例分析;
- 2022年09月11日:发布【MyBatis的缓存配置】章节,一级缓存、二级缓存和自定义mybatis-redis缓存;
- 2022年11月11日:发布【MyBatis插件开发和应用】章节;
- 2022年12月12日:更新完毕,进入迭代期。
持久化技术Mybatis知识精讲【形成知识体系篇】的更多相关文章
- 聊聊IT技术人的知识体系
我在我的2020年终总结中提到技术人需要建立自己的知识体系,那么怎么建立自己的知识体系呢?技术人的知识体系又是什么样的呢?今天,和你一一分享. 1 关于我的12字方针 我在我的<2020年终回顾 ...
- Android学习之基础知识九 — 数据存储(持久化技术)之SQLite数据库存储
前面一讲介绍了数据持久化技术的前两种:文件存储.SharedPreferences存储.下面介绍第三种技术:SQLite数据库存储 一.SQLite数据库存储 SQLite数据库是一款轻量级的关系型数 ...
- Android学习之基础知识九—数据存储(持久化技术)
数据持久化是将那些内存中的瞬时数据保存到存储设备,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失. Android系统中主要提供了3种方式用于简单地实现数据持久化功能:文件存储.SharedP ...
- MyBatis知多少(18)MyBatis系统
小型.简单系统 小型应用程序通常只涉及单个数据库,只有一些相当简单的用户界面和领域模型.它的业务逻辑非常简单,甚至对一些简单的CRUD (Create, Read, Update, Delete:增删 ...
- MyBatis知多少(12)私有数据库
如果你从事软件开发工作有了一段时间的话,那么肯定听过关于“自己动手还是花钱购买” 的争论.该争论是说,针对一个业务问题,我们是应该自己动手构建自己的解决方案呢,还是应 该花钱购买一个声称已经解决了此问 ...
- MyBatis知多少(6)表现层与业务逻辑层
表现层 表现层负责向最终用户展示应用程序的控制方式以及数据.它还要负责所有信息的布局和格式.今天,商业应用程序最流行的表现方式应该算是Web前端了,它使用HTML和JavaScript并通 过Web浏 ...
- MyBatis知多少(5)业务对象模型
几乎所有结构良好的软件都使用了分层设计.分层设计将一个应用程序根据技术职能分为几 个内聚的部分,从而将某种特定技术或接口的实现细节与其他部分分离开来.分层设计可以用任 何一种强壮的编程语言来实现.图1 ...
- MyBatis知多少(3)
解决存储过程固有限制的方法之一就是将SQL嵌入到更加通用的语言中去.与存储过程将业务逻辑移入数据库相反,内联SQL将SQL从数据库移入了应用程序代码.这就使得SQL语句可以直接与语言进行交互.从某种意 ...
- FluentData - 轻量级.NET ORM持久化技术解决方式
FluentData - 轻量级.NET ORM持久化技术解决方式 文件夹: 一.什么是ORM? 二.使用ORM的优势 三.使用ORM的缺点 四.NET下的ORM框架有哪些? 五.几 ...
- Java并发编程核心知识体系精讲
第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点 ...
随机推荐
- Python:Python对象模型与序列迭代陷阱
1. Python对象模型与浅拷贝/深拷贝 1.1 Python对象模型和引用 在我们讲解Python的序列修改陷阱之前,先巩固一下Python的对象模型和浅拷贝/深拷贝的知识. 众所周知,Pytho ...
- video2blog 视频转图文AI小工具正式开源啦
前言 最近对一些小细节做了很多处理,但是其实还是有非常多的问题,没办法时间毕竟时间有限.为什么在这个时候开源,因为主要功能可以全部跑通了,分支暂时没开发的功能也可以通过其他的工具来替代. 这个工具开发 ...
- Istio(三):服务网格istio可观察性:Prometheus,Grafana,Zipkin,Kiali
目录 一.模块概览 二.系统环境 三.可观察性 四.指标 4.1 代理级指标 4.2 服务级指标 4.3 控制平面度量 五.Prometheus 5.1 安装Prometheus 5.2 部署示例应用 ...
- 提升WordPress网站加载速度的8个小技巧
提升WordPress网站加载速度是至关重要的,它不仅可以提高用户体验,还有助于SEO排名.以下是提升WordPress网站加载速度的8个小技巧,希望能帮助到大家. 优化图片: 使用适当大小和格式的图 ...
- 【c++】函数模板
语法: template<class & T1,class &T2> auto Add(T1 t,T2 t2) ->decltype(t+t2); 函数定义: t ...
- 微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
前言 今天大姚给大家分享一个由微软官方开源(MIT License).免费的Blazor UI组件库:Fluent UI Blazor. 全面的ASP.NET Core Blazor简介和快速入门 F ...
- 8个实用的Java Streams API
分享8个开箱即用的API,方便日常处理集合. 1. 快速过滤空值:Stream.ofNullable 该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常. 在 ...
- web游览器的标签页仿 ios mac 苹果的墓碑机制 (js代码)
背景: 本来项目开发系统防挂机功能,在其余游览器中均可以使用.但是呢在苹果的safair游览器中会出现几率失效,最后经过排查发现是苹果的墓碑机制导致.即:此标签页活跃,其他标签页假死.然后就导致防挂机 ...
- react生命周期比较常用的几个
import React, { Component } from 'react' // 只有在类组件中才有生命周期 export default class App extends Component ...
- Vulkan的VkImage和OpenGL的Texture2D互转的3种方法
Vulkan的纹理和OpenGL的纹理之间共享的解决方案, 因为项目的功能需要同时引入OpenGL和Vulkan,又因为效率的影响必须想办法优化,两者之间需要互相访问互相转换的高效方案. Vulkan ...