摘要: 1. 概述 本文,我们来分享 MyBatis 的事务模块,对应 transaction 包。如下图所示:transaction 包 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: MyBatis 对数据库中的事务进行了抽象,其自身提供了相应的事务接口和简单实 阅读全文
posted @ 2019-10-03 15:44 siye1989 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的数据源模块,对应 datasource 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 数据源是实际开发中常用的组件之一。现在开源的数据源都提供了比较丰富的功能,例如,连接池功能、检测连接状态 阅读全文
posted @ 2019-10-03 15:25 siye1989 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的异常模块,对应 exceptions 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 定义了 MyBatis 专有的 PersistenceException 和 TooManyResults 阅读全文
posted @ 2019-10-03 13:49 siye1989 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的反射模块,对应 reflection 包。如下图所示: 相比 parsing 包来说,reflection 包的代码量大概是 2-3 倍。当然,不要慌,都是比较简单的代码。 当然,这是一篇非常非常非常长的博客,因为笔者基本贴了这个模块所有的代码。如果想 阅读全文
posted @ 2019-10-03 13:43 siye1989 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 本文,我们来分享 MyBatis 的解析器模块,对应 parsing 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 解析器模块,主要提供了两个功能: 一个功能,是对 XPath 进行封装,为 MyBatis 初始化时解析 mybatis- 阅读全文
posted @ 2019-10-03 11:03 siye1989 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文主要分享 MyBatis 的项目结构。 2. 代码统计 这里先分享一个小技巧。笔者在开始源码学习时,会首先了解项目的代码量。 第一种方式,使用 IDEA Statistic 插件,统计整体代码量。 我们可以粗略的看到,总的代码量在 21441 行。还是在可接受的范围。 第二种方式,使 阅读全文
posted @ 2019-10-03 09:56 siye1989 阅读(303) 评论(0) 推荐(0) 编辑
摘要: MyBatis —— 调试环境搭建 1. 依赖工具 Maven Git JDK IntelliJ IDEA 2. 源码拉取 从官方仓库 https://github.com/mybatis/mybatis-3 Fork 出属于自己的仓库。为什么要 Fork ?既然开始阅读、调试源码,我们可能会写一些 阅读全文
posted @ 2019-10-03 09:43 siye1989 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-09-21 11:53 siye1989 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1、图解Elasticsearch内部如何基于_version进行乐观锁并发控制 (1)_version元数据 PUT /test_index/test_type/6{ "test_field": "test test"} { "_index": "test_index", "_type": "te 阅读全文
posted @ 2019-09-21 11:43 siye1989 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-09-21 11:33 siye1989 阅读(252) 评论(0) 推荐(0) 编辑