
MyBatis
文章平均质量分 78
关于MyBatis
山与长生
Maybe in another lifetime, you and I would find a way to make it
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MyBatis的相关内容
如果你想自定义类型处理器来处理一些非标准类型,或者覆盖一些实现,按以下步骤执行。原创 2025-01-31 20:23:13 · 667 阅读 · 0 评论 -
【主线】实现MyBatis : Chapter5 : 功能完善,支持批量查询与增删改
在我们之前的逻辑中,直接使用了 Map 来存储实参映射,如果入参是 DO 对象的话,通过反射也是可以实现类似的功能,此处需要一层抽象来屏蔽 Map 和 DO 对象根据形参获取实参的逻辑差异;如果做进一步优化的话,这里可以维护部分额外的信息,以空间换取实现,对于同一类型的参数可省略多余的反射过程,但此处我们不会再做进一步的处理。本章支持了很多新功能,比如批量查询、example 查询、数据插入后的主键回填等,但改动点不多,只实际到参数解析器相关,即上图红色部分。本章的重头戏是插入,我们写一个简单的测试。原创 2025-01-31 14:50:34 · 404 阅读 · 0 评论 -
【主线】实现MyBatis : Chapter4 : 完善参数绑定,引入结果映射
而至于使用信息进行结果映射的部分,我们这里直接采用的最简单的方式,直接使用反射构造对象并给字段赋值(在 MyBatis 中则是创建了功能更为强大的工具类,封装的层次也更深)。,其构造实际是在 mapper 文件解析时,逻辑是节点取值,稍微繁琐但并不复杂,不再赘述。参数绑定部分,我们直接以 Class 为 key 构建一个映射,value 是。首先是我们多参数的自动绑定验证,结果不出意外。接下来是新构建类的测试,我们新建了。结果映射部分,一是信息存储的。结构,二是信息使用的。当然,结果也符合预期!原创 2025-01-29 20:35:52 · 769 阅读 · 0 评论 -
【主线】实现MyBatis : Chapter3:解析SQL,浅尝参数匹配
支持通过接口调用,映射到语句的执行。原创 2025-01-29 20:34:45 · 1734 阅读 · 0 评论 -
【主线】实现MyBatis:Chapter2: 从DB读取真实的假数据
在上一章中,我们已将在代理类中成功拦截了方法执行,并返回了一条假的数据,而我们本章要做的,其实就是将这个执行过程替换为从 db 读一条固定数据返回,并且读取 db 所需要的信息我们需要从配置文件中读入。方法中,我们通过获取到的节点信息,以反射方式拿到数据源工厂实例,传递对应的配置信息后,将工厂创建的数据源对象存储在全局配置中,这样执行器在执行时即可获取到可用的连接对象。此外,我们之前是在代理类中进行假数据的创建,但从单一职责的角度看,代理类只负责代理方法,真正后续与 DB 的交互操作我们引入。原创 2025-01-26 09:50:55 · 536 阅读 · 0 评论 -
【主线】实现MyBatis:Chapter1: 搭建代理框架,体验造假的快乐
本章目标。原创 2025-01-25 21:53:52 · 743 阅读 · 0 评论 -
【主线】实现MyBatis:介绍
MyBatis 是一个流行的 ORM 框架,广泛应用于 Java 项目中对数据库的访问,从使用者角度看,它最直观的特点就是实现了接口到 SQL 的绑定,让我们能够以访问 Java 接口的方式操作数据库,此外,它还具有配置方式灵活、动态 SQL 功能丰富、数据缓存以及插件等各种功能。“造轮子”不是好的工作方式,但却是一个极好的学习方法,所有,这次我们就以造轮子的方式来进行对 MyBatis 的学习,目标是在保持架构基本一致的前提下实现其核心的增删改查及插件功能。原创 2025-01-25 21:52:55 · 134 阅读 · 0 评论