Mybatis技术内幕笔记(二)

基础支持层基础支持层位于Mybatis整体架构的最底层,支撑着Mybatis的核心处理层,是整个框架的基石。基础支持层中封装了多个较为通用的、独立的模块,不仅仅为Mybatis提供基础支撑,也可以在合适的场景中直接复用。解析器模块在Mybatis中涉及多个XML配置文件,因此我们首先介绍XML解析的

mybatis技术内幕笔记(一)

Mybatis整体架构Mybatis的整体架构分为三层,分别是数据支持层、核心处理层和接口层。基础支持层基础支持层包含整个Mybatis的基础模块,这些模块为核心处理层的功能提供了良好的支撑。反射模块Java中的反射虽然功能强大,但对大多数开发人员来说,写出高质量的反射代码还是有一定难度的。Myba

mybatis源码分析:mybatis中的动态代理使用的一些思考

概述mybatis中使用动态代理技术来实现当用户只提供接口时,mybatis提供对相应接口的实现的能力。这里之所以提供该能力主要的目的是通过该框架来将整体的各种数据库操作高度规范化,而不是给用户暴露相关接口,做到在操作数据库流程方面也就是对于封装JDBC实现高度的规范化。MapperProxyFac

mybatis源码分析:mybatis与Spring整合

概述本文主要介绍在mybatis及Spring整合过程中所用到的技术及Spring中涉及到的流程。Spring自定义标签和spring.handlers的加载过程在mybatis整合到Spring过程中,mybatis需要Spring支持自定义标签scan的支持,该标签主要是用来扫描用户定义的接口。

mybatis源码分析:KeyGenerator

概述默认情况下,insert语句并不会返回自动生成的主键,而是返回插入记录的条数。如果业务逻辑需要获取插入记录时产生的自增主键,则可以使用Mybatis提供的KeyGenerator接口。不同的数据库产品对应的主键生成策略不一样,例如,Oracle、DB2等数据库铲平是通过sequence实现自增i

mybatis源码分析:TypeHandler类型处理器

概述JDBC数据类型与Java语言中的数据类型并不是完全对应的,所以在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换成JDBC类型,而从结果集中获取数据时,则需要从JDBC类型转换成Java类型。Mybatis使用类型处理器完成上述两种转换。在Mybatis中使用J

mybatis源码分析:关于mybatis框架的插件

1、概述插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或改变框架原有的功能,Mybatis中也提供了插件功能,虽然叫插件,但是实际上是通过拦截器(interceptor)实现的。在Mybatis的插件模块中涉及责任链模式和JDK动态代理。2、Interceptor