当前位置: 首页 > 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 避免修改分…...

多线程-Runable和Callable的区别

在Java中&#xff0c;多线程可以通过实现Runnable接口或使用Callable接口来实现。这两种方式有一些区别&#xff0c;如下所示&#xff1a; 返回值&#xff1a; Runnable接口的run()方法没有返回值&#xff0c;它表示一个没有返回结果的任务。Callable接口的call()方法有返回值…...

智慧城市规划新引擎:探秘数字孪生中的二维与三维GIS技术差异

智慧城市作为人类社会发展的新阶段&#xff0c;正日益引领着我们迈向数字化未来的时代。在智慧城市的建设过程中&#xff0c;地理信息系统&#xff08;GIS&#xff09;扮演着举足轻重的角色。而在GIS的发展中&#xff0c;二维和三维GIS作为两大核心技术&#xff0c;在城市规划与…...

Python入门自学进阶-Web框架——38、redis、rabbitmq、git

缓存数据库redis&#xff1a; NoSQL&#xff08;Not only SQL&#xff09;泛指非关系型的数据库。为了解决大规模数据集合多重数据类的挑战。 NoSQL数据库的四大分类&#xff1a; 键值&#xff08;Key-Value&#xff09;存储数据库列存储数据库文档型数据库图形&#xff08;…...

论 SoC上的Linux如何拉动外部I/O

在MCU中&#xff08;如classic autosr或其他RTOS&#xff09;&#xff0c;一般可以直接通过往对应的寄存器&#xff08;地址转为指针&#xff09;写值&#xff0c; 或者调用一些硬件抽象层或者驱动接口来拉动芯片提供的GPIO。 但是在Linux中&#xff0c;可能不会让应用层直接去…...

SpringBoot项目如何部署SSL证书 (JKS格式)

1、SpringBoot项目如何部署SSL证书 (JKS格式) 1. 获取 SSL 证书和私钥 首先&#xff0c;你需要获取有效的 SSL 证书和私钥。SSL 证书是一种用于加密通信的数字证书&#xff0c;它可以通过购买商业 SSL 证书或使用免费的 Let’s Encrypt 证书获得。请确保你拥有证书文件和与之…...

成功解决:ValueError Cannot assign non-leaf Tensor to parameter ‘weight‘

成功解决:ValueError Cannot assign non-leaf Tensor to parameter ‘weight‘ 欢迎大家来到安静到无声的《模式识别与人工智能(程序与算法)》,如果对所写内容感兴趣请看模式识别与人工智能(程序与算法)系列讲解 - 总目录,同时这也可以作为大家学习的参考。欢迎订阅,优…...

面试之快速学习SQL-基础增删改查语句

1. SELECT SELECT column1,column2,column3 FROM table_name;SELECT * FROM table_name;2. SQL SELECT DISTINCT 语句 在表中&#xff0c;可能会包含重复值。这并不成问题&#xff0c;不过&#xff0c;有时您也许希望仅仅列出不同&#xff08;distinct&#xff09;的值。 SE…...

nuxt脚手架创建项目

在初始化时遇到一个依赖找不到的问题&#xff0c;记录一下&#xff0c;如有遇到同样问题的小伙伴&#xff0c;希望能给你们一点指引。 从安装脚手架开始&#xff0c;首先 一&#xff1a;安装nuxt脚手架 1. C盘全局安装&#xff1a; npm i -g create-nuxt-app 安装后可creat…...

复现原型链污染漏洞

目录 一、复现原型链污染漏洞 hackit 2018 1、创建hackit_2018.js文件 2、运行hackit_2018.js文件 3、寻找原型链漏洞 4、污染原型链 hackit 2018 1、创建hackit_2018.js文件 const express require(express) var hbs require(hbs); var bodyParser require(body-par…...

.Net6 Web Core API 配置 Autofac 封装 --- 依赖注入

目录 一、NuGet 包导入 二、Autofac 封装类 三、Autofac 使用 四、案例测试 下列封装 采取程序集注入方法, 单个依赖注入, 也适用, 可<依赖注入>的地方配置 一、NuGet 包导入 Autofac Autofac.Extensions.DependencyInjection Autofac.Extras.DynamicProxy 二、Auto…...