摘要: 1 前言 上一节我们分析了 resultMap 的解析,这节就该是我们的 sql 以及我们常写的 select、update、delete、insert。 贴一下我在调试中的XML哈,方便你们跟着调试: <sql id="mySql"> select * from ${tableName} </sq 阅读全文
posted @ 2023-02-28 20:52 酷酷- 阅读(240) 评论(0) 推荐(0)
摘要: 1 前言 上节我们的 mapper 解析了关于二级缓存 cache、cache-ref的解析,这节我们解析 resultMap,建议你们边看的时候边调试,resultMap 的东西很多,首先你要知道 resultMap 标签节点中都能写什么,知道有什么,再去看每一步具体是要解析什么。 关于这节的文档 阅读全文
posted @ 2023-02-26 23:06 酷酷- 阅读(199) 评论(0) 推荐(0)
摘要: 1 前言 这节我们分析一个大头,也是我们平时写的最多的,就是我们写的增删改查了,我们来看下它的解析。 既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一 阅读全文
posted @ 2023-02-26 18:07 酷酷- 阅读(256) 评论(0) 推荐(0)
摘要: 1 前言 这节我们继续我们的配置文件分析,本节我们看看typeHandler和objectWrapperFactory的解析。 2 源码分析 2.1 解析typeHandlers MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理 阅读全文
posted @ 2023-02-26 16:02 酷酷- 阅读(311) 评论(0) 推荐(0)
摘要: 1 前言 上一节我们在解析别名的时候,会有个package的标签,会获取包名下的所有类的信息,就是用到了ResolverUtil这个工具去获取的,那么我们本节看下这个工具的真实面目。 2 源码分析 那么我们先来整体看下类的结构信息: 2.1 内部接口及其实现 可以看到内部一个Test接口,和两个具体 阅读全文
posted @ 2023-02-26 12:28 酷酷- 阅读(87) 评论(0) 推荐(0)
摘要: 1 前言 这节我们介绍Mybatis又一个出现的基础设施VFS,他是干啥的呢,就是加载指定目录下的文件的。 前置知识:java.net.URL这个类知道么,不要看名字把它觉得就是我们浏览器里的URL,它不是奥。它叫统一资源定位符有:http、https、file和jar。 2 源码分析 看源码前我们 阅读全文
posted @ 2023-02-26 12:16 酷酷- 阅读(156) 评论(0) 推荐(0)
摘要: 1 前言 在上一节我们分析了properties和settings,这节我们分析下别名、环境变量、插件以及ObjectFactory的解析。 2 源码分析 2.1 解析typeAliases typeAliases 标签下可以有多个package和多个typeAlias <!ELEMENT type 阅读全文
posted @ 2023-02-25 23:35 酷酷- 阅读(77) 评论(0) 推荐(0)
摘要: 1 前言 上一节我们分析了一个基础设置的PropertyTokenizer,这节我们分析下Reflector,它是Mybatis对于一个类的信息收集者,也就是解析类的相关信息放到自己的集合里,对于它的管理有一个ReflectorFactory,会对他进行缓存和管理,ReflectorFactory是 阅读全文
posted @ 2023-02-25 22:25 酷酷- 阅读(116) 评论(0) 推荐(0)
摘要: 1 前言 上一节我们在解析settings的时候,说到了分词器PropertyTokenizer,这种东西我理解为框架背后默默付出的辛勤工作者。Mybatis本身可以看作一个舞台,我们可能会看到舞台的表演者比如Mapper、比如SqlSessionFactory等,那么PropertyTokeniz 阅读全文
posted @ 2023-02-25 19:59 酷酷- 阅读(150) 评论(0) 推荐(0)
摘要: 1 前言 好了,这章开始我们进入Mybatis的知识的源码分析,首当其冲的就是配置文件的解析,我们知道在实用Mybatis的时候,我们的自定义sql都是在XML文件中进行编写的,甚至以前我们的一些数据源信息也是在里边的,那么我们就看看Mybatis是如何解析的吧。 首先我们来看下XML可以配置哪些东 阅读全文
posted @ 2023-02-25 19:32 酷酷- 阅读(208) 评论(0) 推荐(0)