MyBatis
文章平均质量分 88
阿璐4r
坐在马桶上写代码的阿璐4r
展开
-
类型转换「基础支持层」-MyBatis
JDBC数据类型与Java语言中的数据类型并不是完全对应的,所以在PreparedStatement为SQL绑定参数时,需要从Java类型转换成JDBC类型,从而结果集中获取数据时,则需要从JDBC类型转换成Java类型。MyBatis使用类型处理器完成上述两种转换MyBatis中使用JdbcType这个枚举类型代表JDBC中的数据类型,该枚举类型中定义了TYPE_CODE字段,记录了JDBC类型在java.sql.Types中相应的变量编码,并通过一个静态集合codeLoolup(Map类型)维护变量原创 2021-03-06 16:30:53 · 363 阅读 · 0 评论 -
反射工具箱「基础支持层」-MyBatis
MyBatis在进行参数处理、结果映射等操作的时候,会涉及大量的反射操作。java原生反射操作有些复杂且容易出错,MyBatis中提供了反射相关的工具类放在com.apache.ibatis.reflection包中。同时MyBatis中提供的测试用例也是非常值得一看的。1.Reflector&ReflectorFactory对JavaBean的定义:属性是通过getter/setter方法得到的,也就是说有属性A就会有getA(),setA(A)方法。Reflector是反射的基础,里面缓原创 2021-03-06 13:41:25 · 220 阅读 · 0 评论 -
解析器模块「基础支持层」-MyBatis
基础支持层中封装了一些通用独立的模块,给MyBatis提供了支持,也可以在合适的场景中使用。解析器模块主要用于对解析XML文件。目前XML解析创建的方式有三种:DOM:基于树形结构的XML解析方式,它会将整个XML文档读入内存并构建一个DOM树,基于这棵形结构对各个节点进行操作。SAX:基于事件模式的XML解析方式,只需将XML的一部分加载到内存当中。那XML作为一个事件流进行处理StAX:和XML解析方式类似,同时也可以同时解析多个文档,应用程序通过调用解析器推进解析的进程。1.XPath简介原创 2021-03-02 10:06:11 · 203 阅读 · 0 评论 -
MyBatis整体架构
《MyBatis技术内幕》笔记摘抄:MyBatis项目源码主要模块如下:1.整体架构图主要分为三层:基础支持层、核心处理层、接口层基础支持层:数据源模块、事物管理器模块、缓存模块、Binding模块、反射模块、类型转换、日志模块、资源加载、解析器模块核心处理层:配置解析、参数映射、SQL解析、SQL执行、结果映射、插件接口层:SqlSession点击查看原图2.基础支持层反射模块:对应 reflection包。Java 中的反射虽然功能强大,但对大多数开发人员来说,写出高质量原创 2021-02-26 15:32:17 · 362 阅读 · 0 评论