mybatis源码解析
文章平均质量分 79
介绍 mybatis 的原理
阿进的写字台
I don’t know what I think until I try to write it down
展开
-
mybatis源码- 反射模块一(跟着MyBatis学反射):类级别信息的封装
反射就是在运行的状态中, 对于任意的一个实体类, 都能知道这个类的所有属性和方法。 并将其封装成一个个对象, 对通过这些对象来实现对应实体类的创建, 以及访问该类的方法和属性。在我们创建了一个Java类之后, 编译出的.class文件在虚拟机中加载, 都会在JVM中创建一个Class对象,通过该对象来创建这个类的所有对象。在 Mybatis 中, 有对应的反射模块, 本文就是探究 mybati...原创 2018-12-20 13:33:57 · 2087 阅读 · 1 评论 -
mybatis源码-Mapper解析之SQL 语句节点解析(一条语句对应一个MappedStatement)
在 mybatis 中, 对应 CRUD 的是四种节点: <select>, <insert>, <delete>, <update>。在解析 Mapper.xml 文件中, 会调用 XMLStatementBuilder 来 进行这几个节点的解析。 解析完成后使用 MappedStatement 来表示一条条 SQL 语句。 完原创 2018-11-19 23:47:29 · 2228 阅读 · 0 评论 -
mybatis源码-解析配置文件(四-1)之配置文件Mapper解析(cache)
相关文章推荐mybatis 缓存的使用, 看这篇就够了mybatis源码-解析配置文件(四)之配置文件Mapper解析1. 简介本文章主要讲解的是, xxxMapper.xml 文件中, cache 节点的源码。2. 解析XMLMapperBuilder.cacheElement() 方法主要负责解析 <cache> private void c...原创 2018-10-05 00:16:23 · 391 阅读 · 0 评论 -
mybatis源码-解析配置文件(四)之配置文件Mapper解析
在 mybatis源码-解析配置文件(三)之配置文件Configuration解析 中, 讲解了 Configuration 是如何解析的。其中, mappers作为configuration节点的一部分配置, 在本文章中, 我们讲解解析mappers节点, 即 xxxMapper.xml 文件的解析。1 解析入口在解析 mybatis-config.xml 时, 会进行解析 xxxMapp...原创 2018-10-04 00:46:56 · 368 阅读 · 0 评论 -
mybatis抽取出的工具-(一)通用标记解析器(即拿即用)
在深入理解 mybatis 原理过程中, 我不单单是想理解整个 mybatis 是怎么运行的, 我还想从这个过程中提取出一些对自己有益的编程方法, 编程思想, 注释, 以及一些实用工具类。1. 简介1.1 mybatis-config.xml 中使用在 mybatis-config.xml 文件中, 我们常常看到类似的配置<properties> <propert...原创 2018-10-03 13:26:05 · 1164 阅读 · 0 评论 -
mybatis源码-解析配置文件(三)之配置文件Configuration解析(超详细, 值得收藏)
1. 简介1.1 系列内容本系列文章讲解的是mybatis解析配置文件内部的逻辑, 即 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);...原创 2018-09-19 09:13:59 · 1735 阅读 · 0 评论 -
mybatis源码-解析配置文件(二)之解析的流程
1. 简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程: 通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuilder 使用上一步获得的 reader 创建 SqlSessionF...原创 2018-09-16 08:55:18 · 906 阅读 · 0 评论 -
mybatis源码-解析配置文件(一)之XML的DOM解析方式
简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程:通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader;SqlSessionFactoryBuilder使用上一步获得的reader创建SqlSessionFactory对象;通过 sq...原创 2018-09-19 00:17:17 · 479 阅读 · 0 评论 -
mybatis 插件的原理-责任链和动态代理的体现
如果没有自定义过拦截器, 可以看我前面的文章。如果不知道 JDK 动态代理怎么使用的, 可以看我这文章。 责任链设计模式理解起来很简单, 网上找个例子看看即可。mybatis 插件的原理使用的是动态代理和责任链来实现的。1 拦截哪些方法在前面说过, 可以通过注解 Intecepts 和 Signature 来进行指定拦截哪些方法。 然而, 并不是说所有的方法都可以拦截的。mybatis 拦...原创 2019-09-28 22:20:09 · 554 阅读 · 0 评论