mybatis源码学习
文章平均质量分 70
千鸟送天
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mybatis源码学习9---执行器Executor解析
从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器-----ExecutorExecutor是mybatis的sql执行器,SqlSession是面向程序的,而Executor则就是面向数据库的,先看下Executor接口的方法有哪些,源码如下:public interface Executor { ResultHandler N原创 2021-05-28 16:50:41 · 185 阅读 · 0 评论 -
mybatis源码学习8---执行mapper接口方法到执行mapper.xml的sql的过程
上一篇文章分析到mapper.xml中的sql标签对应的MappedStatement是如何初始化的,而之前也分析了Mapper接口是如何被加载的,那么问题来了,这两个是分别加载的到Configuration中的,那么问题来了,在使用过程中MappedStatement又是如何和加载的mapper接口进行关联的呢?本文将进行分析。首先还是SqlSession接口的一个方法说起,也就是 T getMapper(Class type);很显然这个方法是更加Class名获取该类的一个实例,而Mapper接口原创 2021-05-28 16:08:57 · 587 阅读 · 1 评论 -
mybatis源码学习7---MappedStatement初始化过程
上一篇我们了解到了MappedStatement类就是mapper.xml中的一个sql语句,而Configuration初始化的时候会加载所有的mapper接口类,而本篇再分析下是如何将mapper接口和xml进行绑定的。先从上一篇的源码开始分析:public <T> void addMapper(Class<T> type) { if (type.isInterface()) { if (hasMapper(type)) {原创 2021-05-28 15:08:36 · 744 阅读 · 0 评论 -
mybatis源码学习6---MappedStatement解析
MappedStatement类位于mybatis包的org.apache.ibatis.mapping目录下,是一个final类型也就是说实例化之后就不允许改变MappedStatement对象对应Mapper.xml配置文件中的一个select/update/insert/delete节点,描述的就是一条SQL语句,属性如下:private String resource;//mapper配置文件名,如:UserMapper.xml private Configuration configura原创 2021-05-28 14:18:23 · 1204 阅读 · 1 评论 -
mybatis源码学习5---SqlSession解析
由之前解析可知,mybatis启动的时候会加载XML配置文件解析生成全局配置对象Configuration对象,SqlSessionFactoryBuilder类会根据Configuration对象创建一个DefaultSqlSessionFactory对象,而DefaultSqlSessionFactory对象实现了SqlSessionFactory中的创建SqlSession的方法,最终新建了一个SqlSession接口的默认实现类DefaultSqlSession,现在先来了解下SqlSession以原创 2021-05-28 11:54:50 · 663 阅读 · 0 评论 -
mybatis源码学习4---Configuration解析
Configuration类解析Configuration类位于mybatis包的org.apache.ibatis.session目录下,是mybatis的全局变量,属性就是对应于mybatis的全局配置文件mybatis-config.xml的配置,将XML配置中的内容解析赋值到Configuration对象中。由于XML配置项有很多,所以Configuration类的属性也很多。先来看下Configuration对于的XML配置文件示例:<?xml version="1.0" encodi原创 2021-05-28 11:46:13 · 265 阅读 · 0 评论 -
mybatis源码学习3---XMLConfigBuilder解析
1.XMLConfigBuilderXMLConfigBuilder类位于Mybatis包的org.apache.ibatis.builder.xml目录下,继承于BaseBuilder类,关于BaseBuilder类后续再看。XMLConfigBuilder看名字能猜到是关于mybatis的XML配置的构造类,负责构造mybatis的XML配置的。XMLConfigBuilder共有四个属性,代码如下:1 private boolean parsed;//解析标识,因为Configuration是原创 2021-05-28 11:32:37 · 276 阅读 · 0 评论 -
mybatis源码学习2--SqlSessionFactoryBuilder、SqlSessionFactory解析
1.先看一个mybatis最简单的Demo public void test1() throws IOException { //配置文件的类路径,就是target/classes目录下的路径 String resource = "com/alipay/mybatis/mybatis-config/mybatis-config.xml"; //1.流形式读取mybatis配置文件 InputStream is = Resources.getReso原创 2021-05-28 10:34:17 · 935 阅读 · 0 评论 -
mybatis源码学习1--学习源码的目的
在开始分析mybatis源码之前,需要定一个目标,也就是我们不是为了读源码而去读,一定是带着问题去读,在读的时候去寻找到答案,然后再读码的同时整理总结,学习一些高级的编码方式和技巧。首先我们知道mybatis是一个持久层框架,封装了JDBC的一切操作,使得程序在进行JDBC操作时不需要再关注底层是怎么实现的,而只需要按照mybatis定的规则去实现即可。所以在进行mybatis源码分析之前,先来抛出一些问题,然后试着去寻找答案。1.使用mybatis过程中,需要配置Configuration.xml配置原创 2021-05-28 10:27:04 · 205 阅读 · 0 评论 -
mybatis源码学习
一、整体架构SqlSession是接口,里面各种增删改查接口,Executor里面是具体的实现原创 2021-05-19 20:37:19 · 385 阅读 · 3 评论
分享