我们之前介绍过MappedStatement表示的是XML中的一个SQL。类当中的很多字段都是SQL中对应的属性。我们先来了解一下这个类的属性: 对一些重要的字段我都增加了备注,方便理解。其中真正表示SQL的字段是SqlSource这个对象。 SqlSource接口很简单 ...
上一篇我们了解到了MappedStatement类就是mapper.xml中的一个sql语句,而Configuration初始化的时候会加载所有的mapper接口类,而本篇再分析下是如何将mapper接口和xml进行绑定的。 先从上一篇的源码开始分析: 如果猜的没错的话,那么第 行和第 行就是解析xml并初始化MappedStatement对象的代码了。那么就先看看MapperAnnotation ...
2019-03-21 23:02 0 1476 推荐指数:
我们之前介绍过MappedStatement表示的是XML中的一个SQL。类当中的很多字段都是SQL中对应的属性。我们先来了解一下这个类的属性: 对一些重要的字段我都增加了备注,方便理解。其中真正表示SQL的字段是SqlSource这个对象。 SqlSource接口很简单 ...
目录 搭建源码环境 POM依赖 测试SQL Mybatis全局配置文件 UserMapper接口 UserMapper配置 User实体 Main方法 快速进入Debug跟踪 源码分析准备 ...
MappedStatement类位于mybatis包的org.apache.ibatis.mapping目录下,是一个final类型也就是说实例化之后就不允许改变 MappedStatement对象对应Mapper.xml配置文件中的一个select/update/insert/delete节点 ...
首先我们找到DefaultSqlSession这个类,mybatis所有的数据库操作最后都会由这类进行实际数据库操作,后面我们会介绍是怎么调用到这个类里面的方法的 我们以下面这个方法为例: ...
最近工作之余有时间和精力,加上平时对源码比较感兴趣,就开始啃起了Spring源码。为加深印象写了这篇博客,如有错误,望各位大佬不吝指正。 我看的是Spring5的源码,从同性社区download下来后编译,然后看源码、写注释、一步一步debug,理论指导实践,实践再反作用于理论。 因为基于注解 ...
mybatis 的初始化还是相对比较复杂,但是作者在初始化过程中使用了多种设计模式,包括建造者、动态代理、策略、外观等,使得代码的逻辑仍然非常清晰,这一点非常值得我们学习; 一、mapper 初始化主要流程 mybatis 初始化的过程中,主要是 XML 配置的解析,不同的部分又分别委托 ...
velocity就是由template,engine,context组成。 1、首先创建一个template(如果是用在web上就是一个html文件),将需要参数化或实例化的地方用跟context有关的符号标记出来,标记时用velocity template language。而template ...
本系列博客将对mybatis的源码进行解读,关于mybatis的使用教程,可以查看我前面写的博客——传送门。 为了便于后面的讲解,我们这里首先构造一个统一环境。也可以参考mybatis官网。 1、数据库建表 2、项目的目录结构 相关配置的版本 ...