Mybatis深度源码分析
文章平均质量分 79
针对Mybatis以循序渐进的方式进行全面分析,让你使用mybatis不在有问题!
-ztp
温柔常伴
展开
-
Mybatis源码解读-设计模式总结
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用:Builder模式,例如SqlSessionFactoryBuilder、Environment;工厂方法模式,例如SqlSessionFactory、Transaction...原创 2018-04-13 17:43:24 · 2675 阅读 · 0 评论 -
【MyBatis源码分析】mappers解析属性配置元素详述
mapper加载config.xml中两个最重要的标签,一个是<environment>(JDBC环境信息),另一个就是mapper(sql文件映射)了。Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏:从上图可以看出,映射文件是以<mapper&g...原创 2018-01-17 16:33:59 · 504 阅读 · 0 评论 -
【MyBatis源码分析】environments解析属性配置元素详述
environments加载先看我们项目相关配置XML;原创 2018-01-17 15:15:48 · 966 阅读 · 0 评论 -
【MyBatis源码分析】objectFactory解析属性配置元素详述
objectFactory解析、那么,接下来,就简单介绍一下这几个配置的作用吧:1、objectFactory是干什么的? 需要配置吗? MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。默认情况下原创 2018-01-17 14:43:47 · 313 阅读 · 0 评论 -
【MyBatis源码分析】plugins解析属性配置元素详述
Plugins解析、plugin有何作用? 需要配置吗? plugins 是一个可选配置。mybatis中的plugin其实就是个interceptor, 它可以拦截Executor 、ParameterHandler 、ResultSetHandler 、StatementHandler 的部分方法,处理我们自己的逻辑。Executor就是真正执行sql语句的东西, Param原创 2018-01-13 16:13:07 · 1006 阅读 · 0 评论 -
【MyBatis源码分析】TypeHandler解析属性配置元素详述及相关枚举使用高级进阶
TypeHandler解析接着看一下typeHandlerElement(root.evalNode("typeHandlers"));方法,这句读取的是<configuration>下的<typeHandlers>节点,代码实现为:private void typeHandlerElement(XNode parent) throws Exception { if...原创 2018-01-09 19:02:39 · 744 阅读 · 1 评论 -
【MyBatis源码分析】settings解析属性配置元素详述
首先看settingsAsPropertiess(root.evalNode("settings"))这句代码,显而易见这句话获取了下的节点。跟一下代码的实现:private Properties settingsAsPropertiess(XNode context) { if (context == null) { return new Properties();原创 2018-01-13 14:49:22 · 764 阅读 · 0 评论 -
【MyBatis源码分析】properties,typeAliases解析属性配置元素详述
properties解析接着看一下propertiesElement(root.evalNode("properties"))方法,这句读取的是<configuration>下的<properties>节点,代码实现为:private void propertiesElement(XNode context) throws Exception { if (conte...原创 2017-12-21 14:34:25 · 320 阅读 · 0 评论 -
【MyBatis源码分析】configuration初始化机制详解
configuration加载解析对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外。本章将通过以下几点详细介绍 MyBatis的初始化过程。 1. MyBatis的初始化做了什么 2. MyBatis基于XML配置文件创建Configuration对象的过程 3. 涉及到的相关设计模式一、 MyBatis的初始化做了什么任何框架的初始化,无非是加载自己运行时所需要的...原创 2018-01-08 14:25:37 · 1613 阅读 · 1 评论 -
【MyBatis源码分析】环境准备
近来有空,鉴于工作经常会使用到mybatis。所以想将这个框架研究的更加彻底一些!【MyBatis源码分析】整个文章结构会在每一部分源码分析的开头列出要分析的源码的实例,比如:分析加载解析XML配置流程,就会先写相关节点的xml配置及解析的源码展示。分析mybatis四大对象流程,就会先写针对单个对象展示源码。整个系列文章,在本文中会一次性地将所有的代码示例写完,之后就针对这些代码一部分一部分进行...原创 2018-01-08 11:45:20 · 461 阅读 · 0 评论