手写Mybatis
手写Mybatis+源码解析
lureSky空城
love coding
展开
-
Mybatis插件开发
1.插件配置 在Xml中声明plugin 在XmlConfigBuilder中会扫描到插件并循环插入到拦截器队列中 2.插件应用 在Executor,ParameterHandler,ResultSetHandler,StatementHandler处都会进行插件的全匹配应用 3.编写自定义插件 只需要实现Intercepor接口,注意一定要加注解 ...原创 2020-12-14 09:28:45 · 106 阅读 · 0 评论 -
手写Mybatis3-引入SqlSession并执行
之前已经完成了关于Configuration的构建,包括引入DataSource,创建Statemet,SqlSource,SqlNode等 1.引入Mybatis执行流程图和层次结构图 2.由流程图第一步应该是读取配置文件信息,封装到SqlSessionFactory并创建 由于SqlSessionFactory的创建方式有多种,使用构建者模式封装创建细节 在内部完成之前的构建Configuration操作,并一直携带Configuration操作 ...原创 2020-12-11 10:16:53 · 370 阅读 · 1 评论 -
手写Mybatis解析2-解析Mappers
1.首先根据路径获取对象解析(流程与获取Environment一致) 获取资源位置 获取输入流 获取Document对象 创建解析对象,解析Document 2.对Mapper文件进行拆分理解 rootElement是mapper,存在一个value - namespace 唯一标示 一般来说存在子标签<select></select> <update></update> <delete></delete>...原创 2020-12-10 16:02:31 · 94 阅读 · 0 评论 -
手写Mybatis解析1-读取SqlMapConfig.xml
1.简要思路分析 1.1配置文件的编写 一般存在两种配置文件,分为两份的目的是:利于维护。如果需要修改sql语句,只需要找到针对的映射文件即可 1)全局配置文件(会加载映射文件) 存放数据库相关操作 2)映射文件 返回集,sql 1.2加载配置文件 加载流程如下: 1)获取配置文件路径 ...原创 2020-12-09 09:29:21 · 162 阅读 · 0 评论