随笔分类 -  mybatis源码解析

摘要:说完了StatementHandler和ParameterHandler,接下来就需要对查询的结果进行处理了,而对于sql结果的处理是由ResultSetHandler处理的,ResultHandler位于mybatis包的 org.apache.ibatis.executor.resultset下 阅读全文
posted @ 2019-03-26 15:33 Lucky帅小武 阅读(1045) 评论(0) 推荐(0)
摘要:ParameterHandler接口是参数处理器,位于mybatis包的org.apache.ibatis.executor.parameter下,源码如下: 可见ParameterHandler接口只有简单的两个方法,一个是获取参数一个是设置参数。ParameterHandler接口默认实现类是D 阅读全文
posted @ 2019-03-26 14:29 Lucky帅小武 阅读(737) 评论(0) 推荐(0)
摘要:从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器 Executor Executor是mybatis的sql执行器,SqlSes 阅读全文
posted @ 2019-03-26 00:13 Lucky帅小武 阅读(1287) 评论(0) 推荐(0)
摘要:上一篇文章分析到mapper.xml中的sql标签对应的MappedStatement是如何初始化的,而之前也分析了Mapper接口是如何被加载的,那么问题来了,这两个是分别加载的到Configuration中的,那么问题来了,在使用过程中MappedStatement又是如何和加载的mapper接 阅读全文
posted @ 2019-03-25 22:23 Lucky帅小武 阅读(2859) 评论(0) 推荐(1)
摘要:上一篇我们了解到了MappedStatement类就是mapper.xml中的一个sql语句,而Configuration初始化的时候会加载所有的mapper接口类,而本篇再分析下是如何将mapper接口和xml进行绑定的。 先从上一篇的源码开始分析: 如果猜的没错的话,那么第9行和第10行就是解析 阅读全文
posted @ 2019-03-21 23:02 Lucky帅小武 阅读(3808) 评论(0) 推荐(3)
摘要:MappedStatement类位于mybatis包的org.apache.ibatis.mapping目录下,是一个final类型也就是说实例化之后就不允许改变 MappedStatement对象对应Mapper.xml配置文件中的一个select/update/insert/delete节点,描 阅读全文
posted @ 2019-03-21 21:39 Lucky帅小武 阅读(10264) 评论(0) 推荐(0)
摘要:在开始分析mybatis源码之前,需要定一个目标,也就是我们不是为了读源码而去读,一定是带着问题去读,在读的时候去寻找到答案,然后再读码的同时整理总结,学习一些高级的编码方式和技巧。 首先我们知道mybatis是一个持久层框架,封装了JDBC的一切操作,使得程序在进行JDBC操作时不需要再关注底层是 阅读全文
posted @ 2019-03-21 20:42 Lucky帅小武 阅读(644) 评论(0) 推荐(2)
摘要:StatementHandler解析 接口的作用是statement处理器,位于mybatis包的org.apache.ibatis.executor.statement目录下,源码如下: 可见StatementHandler的作用就是先通过prepare方法构建一个Statement对象,然后再调 阅读全文
posted @ 2018-08-22 15:18 Lucky帅小武 阅读(1484) 评论(0) 推荐(0)
摘要:由之前解析可知,mybatis启动的时候会加载XML配置文件解析生成全局配置对象Configuration对象,SqlSessionFactoryBuilder类会根据Configuration对象创建一个DefaultSqlSessionFactory对象,而DefaultSqlSessionFa 阅读全文
posted @ 2018-08-15 14:15 Lucky帅小武 阅读(1354) 评论(0) 推荐(2)
摘要:Configuration类解析 Configuration类位于mybatis包的org.apache.ibatis.session目录下,是mybatis的全局变量,属性就是对应于mybatis的全局配置文件mybatis-config.xml的配置,将XML配置中的内容解析赋值到Configu 阅读全文
posted @ 2018-08-15 11:44 Lucky帅小武 阅读(906) 评论(0) 推荐(1)
摘要:1.XMLConfigBuilder XMLConfigBuilder类位于Mybatis包的org.apache.ibatis.builder.xml目录下,继承于BaseBuilder类,关于BaseBuilder类后续再看。 XMLConfigBuilder看名字能猜到是关于mybatis的X 阅读全文
posted @ 2018-08-15 11:43 Lucky帅小武 阅读(1872) 评论(0) 推荐(1)
摘要:1.先看一个mybatis最简单的Demo 1.通过InputStream获取mybatis的配置文件 2.通过SqlSessionFactoryBuilder创建SqlSessionFactory 3.通过SqlSessionFactory创建一个SqlSession 4.通过SqlSession 阅读全文
posted @ 2018-08-14 20:49 Lucky帅小武 阅读(2620) 评论(0) 推荐(2)