
Mybatis 专题
文章平均质量分 93
最早使用Mybatis是在2016年,那时候学习只会用,根本不知道什么原理,不懂的原理的地方只能死记。搭建一个小的demo放到github,工作需要的时候就直接复制黏贴,虽然也能满足工作需要但是总感觉到不带劲。这里好好总结总结分享给大家,如果感觉小编写的还不错,麻烦点个关注,支持一下。
西魏陶渊明
稻盛和夫说:你不会的东西,觉得难的东西,一定不要躲,先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动被淘汰,所以你执着的努力,就占了大便宜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第01篇:Mybatis学习之环境搭建
配置文件是如何解析成 `Configuration` ?- `sql` 和数据库是如何交互的 `SqlSession` ?- `mapper.xml` 和 `Mapper` 是如何绑定的`MapperRegistry` ?- `Mybatis` 是如何做动态代理的 ?- Mybatis中如何利用插件实现扩展的?...原创 2022-07-19 17:05:38 · 471 阅读 · 0 评论 -
第02篇:Mybatis配置文件解析
在上一篇的代码中,我们看到了一个非常重要文件,这里我们先来人肉分析看,然后看下代码是如何解析的,毕竟代码也是人写的。思路决定出路,我们如果有思路,然后在看源码会更加的具有分析的能动性。...原创 2022-07-19 17:07:38 · 489 阅读 · 0 评论 -
第03篇:Mybatis核心类详细介绍
前面我们知道Mybatis的解析原理,知道了在 `Configuration` 、`MapperBuilderAssistant` 出现了很多核心的类。正是由这些类来实现了,Mybatis的核心功能。所以要想完全搞懂 Mybatis,这些类就必须要进行深入的研究,废话不多少,直接就开始吧。...原创 2022-07-19 17:10:07 · 828 阅读 · 0 评论 -
第04篇:Mybatis代理对象生成
Mybatis中Mapper一般只是一个接口, 那么为什么能执行数据操作的呢? 那肯定是基于代理没得说。在了解Mybatis如何实现代理前, 我们先大概看下它的架构是什么样的, 对这些关键的类有个大概的认识, 知道它所处的位置在哪里。......原创 2022-07-19 17:12:59 · 1039 阅读 · 4 评论 -
第05篇:Mybatis的SQL执行流程分析
前面我们知道了Mybatis是如何进行代理的, 但是最终 中是如何将参数转组装成Sql,并执行处理Sql返回值的地方还都没看到。本篇我们就带着如下三个问题开始我们的探索吧。本篇内容因为涉及跟jdbc的知识,如果对这部分内容有点遗忘,请先JDBC知识复习,另本篇内容知识点较多,目录较复杂,建议根据文字结合代码在实践的过程中一起学习。最好也可以自己debug一下。会收获更大。做好准备现在发车。在组装参数之前我们先来提一个小问题,sql的类型是如何判断的。sql类型有增删该查。除了查询会有结果集外,其他三种原创 2022-07-09 13:40:00 · 946 阅读 · 0 评论 -
第06篇:Mybatis缓存设计
官方文档MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。本篇文章,小编将会在最短的时间呢,通过观察源码来深刻了解Mybatis的一级二级缓存;然后在说如何定制。一、Mybatis Cache设计在Mybatis中所有的缓存,都是实现自Cache接口。无论是一级缓存还是二级缓存都是实现这个接口。其中一级缓存是本地缓存,二级缓存是一个允许开发者扩展的缓存(eg: ehcache/或者内置的很多缓存)。public interface Cache原创 2022-07-12 14:32:44 · 482 阅读 · 0 评论 -
第07篇:Mybatis缓存装饰器
MyBatis 对缓存的设计是非常巧妙的。花样很多,但却不是真的花样。因为Mybatis只是对 Map数据结构的封装, 但是却实现了很多挺好用的能力。如果单单从设计模式上的角度来,其实就是典型的装饰器模式, 装饰器模式其实并不难,所以我们不讲设计模式, 本篇文章我们来看看Mybatils 缓存设计巧妙的点。官方文档下面通过简单的代码review来分析下这11个缓存类设计的巧妙点。(因为是对博客重构,历史图片就没有补充,图上只有10个)一、模式分析从目录就很清晰看出,核心就是impl 包下..原创 2022-07-12 20:21:24 · 439 阅读 · 0 评论 -
第08篇:Mybatis事务处理
一、Jdk底层实现Java JDK中提供了标准接口Connection,不同的数据库驱动负责具体的实现。后面无论是Spring还是Mybatis对事务的处理,无论怎么的封装,最终究其到底都是由Connection来提供的能力。public interface Connection extends Wrapper, AutoCloseable { Statement create原创 2022-07-12 20:24:46 · 1510 阅读 · 0 评论 -
第09篇:Spring声明式事务的实现方式
本篇文章是对Mybatis知识点的一个扩展,主要一起来研究下Spring是如何来管理事务的。顺便再多聊一点其他的知识点,在学习的过程中主要带着以下问题来进行有目的的学习然后最终来回答下面这些问题。Mybatis是如何整合进Spring中的Spring如何知道哪些接口是Mapper接口的?Mapper接口是如何变成Spring Bean的?Spring在哪里声明的SqlSession的实现逻辑?Spring中声明式事务的实现方式是怎样的?Spring中如何处理嵌套事务的?Spring中事务的传.原创 2022-07-13 20:56:23 · 1502 阅读 · 15 评论 -
第10篇:Mybatis的插件设计分析
Mybatis插件开发,其实非常简单,看使用说明就行了,来一起卷起来。原创 2022-07-19 17:23:57 · 459 阅读 · 0 评论 -
第11篇:Mybatis查询限制插件设计
Mybatis插件开发实战原创 2022-07-19 17:25:13 · 697 阅读 · 0 评论