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

动力节点|MyBatis入门实战到深入源码

MyBatis是一种简单易用、灵活性高且高性能的持久化框架,也是Java开发中不可或缺的一部分。

动力节点老杜的MyBatis教程,上线后广受好评

从零基础小白学习的角度出发,层层递进

从简单到深入,从实战到源码

一步一案例,一码一实操,嘴对嘴指导

MyBatis重点、难点、考点一网打尽

不管你是小白还是正在实战开发的软件工程师,全面渗透一套拿捏~ 

课程秉承动力节点一贯的教学风格,列文虎克式讲解,全程高能式教学,每个知识点的递进都伴随着N个案例予以解释,“杜”式教学风格,保证你学得会听得懂

课程讲解从Mybatis的一些核心要点与实战中的运用,一直过渡到MyBaits源码,由表及里的代入架构思维。

资源配置:

电子书PDF 、完整的可在线观看教程、 动力节点官网提供可下载视频+所有配套资料、MyBatis学习交流群

资料下载:

Mybatis入门到架构视频教程全集免费下载-动力节点

在线观看:

【动力节点】一课搞定MyBatis教程,跟老杜从零学mybatis入门到架构思维_哔哩哔哩_bilibili

配套书籍:

本书最大的特点是能够让你从零开始,以层层递进的方式,深入框架底层源代码。既适合小白,又适合老程序员。小白可以从第一章开始按部就班的学习,老手程序员,可以直接从手写MyBatis框架开始学习。既可以让小白慢慢拥有架构思维,又可以提高老程序员的薪资。

领取书籍:

http://u3v.cn/69zm87

下拉页面,点击抽奖即可

课程目录

一、MyBatis概述

001-Mybatis课程导读

002-什么是框架

003-MyBatis在三层架构的什么位置

004-JDBC的不足

005-下载MyBatis并了解MyBatis

006-对ORM思想的深入理解以及MyBatis的特点

007-MyBatis入门程序之数据库表的设计

二、MyBatis入门程序

008-MyBatis入门程序前5步

009-MyBatis入门程序MyBatis程序的编写

010-MyBatis入门程序的小细节

011-MyBatis的事务管理机制深度剖析

012-第一个比较完整的MyBatis程序

013-在开发中junit是如何使用的

014-在MyBatis中引入JUnit

015-MyBatis集成日志框架logback

016-MyBatis工具类的编写

三、使用MyBatis完成CRUD

017-MyBatis完成insert使用Map集合传参

018-MyBatis完成insert使用POJO传参

019-MyBatis完成delete删除操作

020-MyBatis完成update更新操作

021-MyBatis完成select查一个

022-MyBatis完成select查所有

023-SQLMapper映射文件中namespace作用

四、MyBatis核心配置文件详解

024-MyBatis核心配置文件之多环境

025-MyBatis的事务管理器

026-对数据源的深度剖析

027-不同类型的数据源下有不同的属性

028-pooled和unpooled的区别

029-配置具体的数据库连接池参数

030-properties标签的配置和使用

031-properties和mapper标签的url属性

五、手写MyBatis框架

032-使用dom4j解析mybatis核心配置文件

033-使用dom4j解析mybatis核心配置文件

034-使用dom4j解析SqlMapper配置文件

035-手写godbatis框架第一步创建基础类

036-手写godbatis框架第三步抽取事务管理器接口

037-手写godbatis框架第二步分析SqlSessionFactory类该有的属性

038-手写godbatis框架第四步事务管理器的实现

039-手写godbatis框架第五步数据源的实现

040-手写godbatis框架第六步事务管理器改造

041-手写godbatis框架第七步获取数据源对象

042-手写godbatis框架第八步获取事务管理器对象

043-手写godbatis框架第九步获取存储SQL的Map集合

044-手写godbatis框架第十步测试框架

045-手写godbatis框架第十一步封装SqlSession对象

046-手写godbatis框架第十二步insert方法的实现

047-手写godbatis框架第十三步动态给占位符传值

048-手写godbatis框架第十四步测试插入数据

049-手写godbatis框架第十五步selectOne方法的实现

050-手写godbatis框架第十六步结果集转换为对象

051-手写godbatis框架第十七步最终版测试

六、在WEB中应用MyBatis

052-在WEB应用中使用MyBatis之简介和准备数据

053-在WEB应用中使用MyBatis之环境搭建

054-在WEB应用中使用MyBatis之后端代码实现

055-在WEB应用中使用MyBatis之核心业务实现

056-在WEB应用中使用MyBatis之测试转账结果

057-在WEB应用中使用MyBatis之事务的控制

058-在WEB应用中使用MyBatis之三大对象作用域

七、使用javassist生成类

059-使用javassist动态生成类

060-使用javassist动态生成类并实现接口

061-使用javassist动态生成类并实现接口中所有方法

062-工具类GenerateDaoProxy的编写

063-每一个方法体代码的动态拼接

八、MyBatis中接口代理机制及使用

064-MyBatis的getMapper方法

065-面向接口的方式进行CRUD

066-面向接口的方式进行CRUD2

九、MyBatis小技巧

067-MyBatis小技巧之#{}和${}的区别

068-MyBatis小技巧之什么时候使用${}

069-MyBatis小技巧之拼接表名

070-MyBatis小技巧之批量删除

071-MyBatis小技巧之模糊查询

072-MyBatis小技巧之mapper的配置

073-MyBatis小技巧之别名机制

074-MyBatis小技巧之IDEA配置模板文件

075-MyBatis小技巧之使用自动生成的主键值

十、MyBatis参数处理

076-MyBatis参数之单个简单类型参数

077-MyBatis参数之单个参数Long类型

078-MyBatis参数之单个参数Date类型

079-MyBatis参数之Map集合

080-MyBatis参数之POJO类

081-MyBatis参数之多参数

082-MyBatis参数之Param注解

083-MyBatis参数之Param注解源码分析

十一、MyBatis查询语句专题

084-MyBatis查询专题之返回Car

085-MyBatis查询专题之返回多个Car

086-MyBatis查询专题之返回一条记录可以使用List接收吗

087-MyBatis查询专题之返回Map

088-MyBatis查询专题之返回多个Map

089-MyBatis查询专题之返回大Map

090-MyBatis查询专题之结果映射

091-MyBatis查询专题之开启驼峰命名自动映射

092-MyBatis查询专题之查询总记录条数

十二、动态SQL

093-动态SQL之为什么使用动态SQL

094-动态SQL之if标签

095-动态SQL之where标签

096-动态SQL之trim标签

097-动态SQL之set标签

098-动态SQL之choose标签

099-动态SQL之foreach批量删除

100-动态SQL之foreach批量插入

101-动态SQL之foreach批量删除

102-动态SQL之sql标签和include标签

十三、MyBatis的高级映射及延迟加载

103-高级映射之数据库表的准备

104-高级映射之环境搭建

105-高级映射之多对一映射实体类关系怎么设计

106-高级映射之多对一映射第一种方式

107-高级映射之多对一映射第二种方式

108-高级映射之多对一映射第三种方式

109-高级映射之多对一映射延迟加载

110-高级映射之一对多的映射原理

111-高级映射之一对多的第一种实现方式

112-高级映射之一对多的第二种实现方式及延迟加载

十四、MyBatis的缓存

113-MyBatis缓存之对缓存的理解

114-MyBatis缓存之提供了哪些缓存机制

115-MyBatis缓存之理解一级缓存

116-MyBatis缓存之一级缓存的失效

117-MyBatis缓存之二级缓存的使用

118-MyBatis缓存之二级缓存的相关配置

119-MyBatis缓存之集成Ehcache

十五、MyBatis的逆向工程

120-MyBatis逆向工程之概述

121-MyBatis逆向工程之使用基础版

122-MyBatis逆向工程之测试基础版

123-MyBatis逆向工程之使用增强版

124-MyBatis逆向工程之测试增强版的查询

125-MyBatis逆向工程之QBC查询风格

十六、MyBatis使用PageHelper

126-MyBatis分页插件之分页原理

127-MyBatis分页插件之使用limit获取分页数据

128-MyBatis分页插件之使用PageHelper

129-MyBatis分页插件之获取PageInfo对象

十七、MyBatis的注解式开发

130-MyBatis注解式开发之@Insert注解

131-MyBatis注解式开发之@Delete注解

132-MyBatis注解式开发之@Update注解

133-MyBatis注解式开发之@Select注解

134-MyBatis注解式开发之@Results注解

 

相关文章:

动力节点|MyBatis入门实战到深入源码

MyBatis是一种简单易用、灵活性高且高性能的持久化框架,也是Java开发中不可或缺的一部分。 动力节点老杜的MyBatis教程,上线后广受好评 从零基础小白学习的角度出发,层层递进 从简单到深入,从实战到源码 一步一案例,一…...

分布式规则引擎框架的设计

MirAIe 规则引擎是一个可扩展且可扩展的规则引擎框架,允许用户对多个活动进行分组和自动化。 过去几年,在开发MirAIe 物联网平台时,我们意识到需要一个可扩展、可扩展的规则引擎框架。规则引擎使您能够对各种操作进行分组、管理和自动化&…...

C#开发FFMPEG例子(API方式) FFmpeg推送udp组播流

代码及工程见https://download.csdn.net/download/daqinzl/88156926 开发工具:visual studio 2019 播放,可采用ffmpeg工具集里的ffplay.exe, 执行命令 ffplay udp://238.1.1.10:6016 也可以参考(C#开发FFMPEG例子(API方式) FFmpeg拉取udp组播流并播放)…...

nvm下载node导致npm报错无法使用

有个依赖库需要更新下node,用nvm下载后项目跑不起来了,npm -v 还报错 其实一开始是npm下载不来,然后换了淘宝镜像后还是报错 然后就只能手动下载下了 进入node.js官网 https://nodejs.org/en/download 下载后注意要安装在你nvm目录中&#x…...

LeetCode 热题 100JavaScript--2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …...

zookeeper总结

1.概念 Zookeeper 是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。Zookeeper 提供了一个类似于 Linux 文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息&…...

【程序环境与预处理玩转指南】

本章重点: 程序的翻译环境 程序的执行环境 详解:C语言程序的编译链接 预定义符号介绍 预处理指令 #define 宏和函数的对比 预处理操作符#和##的介绍 命令定义 预处理指令 #include 预处理指令 #undef 条件编译 1. 程序的翻译环境和执行环境 在…...

搭建简易syslog日志中转服务器

在某种场景下,无法接入日志审计设备,本文提供一种方式,可通过搭建简易日志中转服务器,收集到该环境下的日志后,再将其导入日志审计设备中。 0x1 开启服务 rsyslog守护进程来自于当前的linux发布版本的预装模块&#x…...

MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoRepository完成增删改查

阿丹: 之前学习了在MongoDB客户端上的MongoDB语句现在将MongoDB整合到spring项目。 传送门: MongoDB文档--基本概念_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷…...

什么是线程局部变量?

在Java中,线程局部变量(Thread Local Variable)是一种特殊类型的变量,每个线程都有其自己独立的副本。这意味着每个线程可以在该变量上进行操作,而不会影响其他线程的副本。线程局部变量通常用于在多线程环境中存储线程私有的数据&#xff0c…...

Jmeter响应中的乱码问题

文章目录 问题描述解决办法 问题描述 Jmeter在访问接口的时候,响应内容如果有中文可能会显示乱码 响应页面没有做编码处理,JMeter默认按照ISO-8859-1编码格式进行解析 解决办法 在线程组中添加BeanShell PostProcessor后置处理器 prev.setDataEnco…...

MongoDB文档-进阶使用-MongoDB索引-createindex()与dropindex()-在MongoDB中使用正则表达式来查找

阿丹: 之前研究了MongoDB的基础增删改查。在学会基础的数据库增删改查肯定是不够的。这个时候就涉及到了数据库搜索的时候的效率。需要提高数据的搜索效率。 MongoDB索引 在所以数据库中如果没有数据索引的时候。如果需要查找到一些数据。都会去主动扫描所有可能存…...

CentOS下ZLMediaKit的可视化管理网站MediaServerUI使用

一、简介 按照 ZLMediaKit快速开始 编译运行ZLMediaKit成功后,我们可以运行其合作开源项目MediaServerUI,来对ZLMediaKit进行可视化管理。通过MediaServerUI,我们可以实现在浏览器查看ZLMediaKit的延迟率、负载率、正在进行的推拉流、服务器…...

回归预测 | MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现POA-CNN-BiGRU鹈鹕…...

Rust 原生支持龙架构指令集

导读近日,Rust 开源社区发布 1.71.0 版本,实现对龙架构(LoongArch)指令集的原生支持。 龙架构操作系统发行版和开发者可基于上游社区源代码构建或直接下载 Rust 开源社区发布的龙架构二进制版本。Rust 开发者将在龙架构平台上获得…...

为生成式AI提速,亚马逊云科技Amazon EC2 P5满足GPU需求

生成式AI(Generative AI)已经成为全球范围内的一个重要趋势,得到越来越多企业和研究机构的关注和应用。纽约时间7月26日,亚马逊云科技数据库、数据分析和机器学习全球副总裁Swami Sivasubramanian在亚马逊云科技举办的纽约峰会上更…...

聊聊企业数据安全那些事~

保护企业数据安全的重要性与方法 随着信息技术的快速发展,企业数据的安全性变得越来越重要。在数字化时代,企业的核心业务和关键信息都存储在电脑系统中,一旦遭受到数据泄露、黑客攻击或恶意软件感染,将可能对企业造成严重的损害…...

日常随笔——如何把excel题库转换为word打印格式

将Excel题库转换为Word可以通过编程的方式实现。以下是一个使用Python的示例代码,该代码使用openpyxl库读取Excel文件,并使用python-docx库创建和保存Word文档。 首先,请确保已经安装了 openpyxl 和 python-docx 库。可以使用以下命令进行安…...

SpringCloud项目打包注意事项以及可能出错的几种情况

SpringCloud项目打包注意事项和可能出错的几种情况 1、检查子模块中的 parent的pom文件路径 \<relativePath/\>2、检查打包插件的位置3、检查module是否重复引用 欢迎访问我的个人博客&#xff1a;https://wk-blog.vip 1、检查子模块中的 parent的pom文件路径 <relat…...

ZABBIX 6.4 Mysql数据库分表

ZABBIX监控设备较多的时候&#xff0c;Mysql数据库容易成为性能的瓶颈&#xff0c;可以通过数据库分表的方式来进行优化。步骤如下&#xff1a; 一、停用zabbix服务 # 避免修改分区表时&#xff0c;数据还有写入 systemctl stop zabbix 二、备份MySQL zabbix DB 避免修改分…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...