摘要: 2. SqlSource org.apache.ibatis.mapping.SqlSource ,SQL 来源接口。它代表从 Mapper XML 或方法注解上,读取的一条 SQL 内容。代码如下: SqlSource 有多个实现类,如下图所示: 3. SqlSourceBuilder org.a 阅读全文
posted @ 2019-10-04 15:22 siye1989 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的脚本模块,对应 scripting 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 拼凑 SQL 语句是一件烦琐且易出错的过程,为了将开发人员从这项枯燥无趣的工作中 解脱出来,MyBatis 阅读全文
posted @ 2019-10-04 15:20 siye1989 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文接 《精尽 MyBatis 源码分析 —— MyBatis 初始化(二)之加载 Mapper 映射配置文件》 一文,来分享 MyBatis 初始化的第三步,加载 Statement 配置。而这个步骤的入口是 XMLStatementBuilder 。下面,我们一起来看看它的代码实现。 阅读全文
posted @ 2019-10-04 15:14 siye1989 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文接 《精尽 MyBatis 源码分析 —— MyBatis 初始化(二)之加载 Mapper 映射配置文件》 一文,来分享 MyBatis 初始化的第三步,加载 Statement 配置。而这个步骤的入口是 XMLStatementBuilder 。下面,我们一起来看看它的代码实现。 阅读全文
posted @ 2019-10-04 15:02 siye1989 阅读(2031) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文接 《精尽 MyBatis 源码分析 —— MyBatis 初始化(一)之加载 mybatis-config》 一文,来分享 MyBatis 初始化的第二步,加载 Mapper 映射配置文件。而这个步骤的入口是 XMLMapperBuilder 。下面,我们一起来看看它的代码实现。 阅读全文
posted @ 2019-10-04 14:53 siye1989 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 从本文开始,我们来分享 MyBatis 初始化的流程。在 《精尽 MyBatis 源码分析 —— 项目结构一览》 中,我们简单介绍这个流程如下: 在 MyBatis 初始化过程中,会加载 mybatis-config.xml 配置文件、映射配置文件以及 Mapper 接口中的注解信息,解析后的配置信 阅读全文
posted @ 2019-10-04 14:40 siye1989 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 本文,我们来分享 MyBatis 的 Binding 模块,对应 binding 包。如下图所示:binding 包 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 在调用 SqlSession 相应方法执行数据库操作时,需要指定映射文件中定义的 SQL 节 阅读全文
posted @ 2019-10-04 14:07 siye1989 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的注解模块,对应 annotations 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 随着 Java 注解的慢慢流行,MyBatis 提供了注解的方式,使得我们方便的在 Mapper 接口上 阅读全文
posted @ 2019-10-04 11:24 siye1989 阅读(1227) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的日志模块,对应 logging 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 无论在开发测试环境中,还是在线上生产环境中,日志在整个系统中的地位都是非常重要的。良好的日志功能可以帮助开发人员 阅读全文
posted @ 2019-10-04 10:29 siye1989 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的 IO 模块,对应 io 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 资源加载模块,主要是对类加载器进行封装,确定类加载器的使用顺序,并提供了加载类文件以及其他资源文件的功能 。 本文涉及 阅读全文
posted @ 2019-10-04 10:04 siye1989 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 本文,我们来分享 MyBatis 的缓存模块,对应 cache 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 在优化系统性能时,优化数据库性能是非常重要的一个环节,而添加缓存则是优化数据库时最有效的手段之一。正确、合理地使用缓 阅读全文
posted @ 2019-10-04 09:36 siye1989 阅读(590) 评论(0) 推荐(0) 编辑