摘要: 手写开源ORM框架介绍 简介 前段时间利用空闲时间,参照mybatis的基本思路手写了一个ORM框架。一直没有时间去补充相应的文档,现在正好抽时间去整理下。通过思路历程和代码注释,一方面重温下知识,另一方面准备后期去完善这个框架。 传统JDBC连接 参照传统的JDBC连接数据库过程如下,框架所做的事 阅读全文
posted @ 2020-12-17 15:36 超人小冰 阅读(1353) 评论(1) 推荐(4) 编辑
摘要: Redis系列文章 前言: 工作原因,在学习mybatis知识后,2个月没有补充新的知识了,最近拿起书本开始学习。打算写下这个Redis系列的文章。 目录结构如下: Redis内置数据结构 Redis持久化 Redis事件 Redis节点复制功能 Redis哨兵功能 Redis集群功能 Redis排 阅读全文
posted @ 2020-11-15 17:11 超人小冰 阅读(387) 评论(1) 推荐(1) 编辑
摘要: 1. 前言 前面近一个月去写自己的mybatis框架了,对mybatis源码分析止步不前,此文继续前面的文章。开始分析mybatis一,二级缓存的实现。附上自己的项目github地址:https://github.com/xbcrh/simple-ibatis 对mybatis感兴趣的同学可关注下, 阅读全文
posted @ 2020-09-16 18:42 超人小冰 阅读(499) 评论(1) 推荐(1) 编辑
摘要: 前言 在学习mybatis源码之余,自己完成了一个简单的ORM框架。已完成基本SQL的执行和对象关系映射。本周在此基础上,又加入了缓存和事务功能。所有代码都没有copy,如果也对此感兴趣,请赏个Star。 项目地址:simple-ibatis 初版博文地址:博客园博文 增加代码详解 缓存 com.s 阅读全文
posted @ 2020-09-10 19:23 超人小冰 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 前言 很久没有更新mybatis的源码解析了,因为最近在将自己所理解的mybatis思想转为实践。 在学习mybatis的源码过程中,根据mybatis的思想自己构建了一个ORM框架 。整个代码都是自己手动构造,没有一句代码是Copy,肯定不如谷歌大神那样的代码,但已基本实现了SQL语句的实现和对象 阅读全文
posted @ 2020-09-05 09:26 超人小冰 阅读(1030) 评论(2) 推荐(0) 编辑
摘要: 前言 本来打算此次写一篇关于SqlSession的解析,但发现SqlSession涉及的知识太多。所以先结合mybatis配置文件(我们项目中常写的如mybatisConfig.xml),来分析下mybatis初始化时做了些什么,进而分析语句的执行。此篇源码解读主要结合官网mybatis文档,来进行 阅读全文
posted @ 2020-08-18 21:20 超人小冰 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 前言 开始分析Type包前,说明下使用场景。数据构建语句使用PreparedStatement,需要输入的是jdbc类型,但我们一般写的是java类型。同理,数据库结果集返回的是jdbc类型,而我们需要java类型。这就涉及到一个类型转换问题,Type包就是解决这个问题。下面是Type包类图所在结构 阅读全文
posted @ 2020-08-14 16:12 超人小冰 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 前沿 前文分析了mybatis的日志包,缓存包,数据源包。源码实在有点难顶,在分析反射包时,花费了较多时间。废话不多说,开始源码之路。 反射包feflection在mybatis路径如下: 源码解析 1 property包-主要对类的属性进行操作的工具包 1.1 PropertyCopier包利用反 阅读全文
posted @ 2020-08-11 20:25 超人小冰 阅读(595) 评论(0) 推荐(1) 编辑
摘要: 前言:我们使用mybatis时,关于数据源的配置多使用如c3p0,druid等第三方的数据源。其实mybatis内置了数据源的实现,提供了连接数据库,池的功能。在分析了缓存和日志包的源码后,接下来分析mybatis中的数据源实现。 类图:mybatis中关于数据源的源码包路径如下: mybatis中 阅读全文
posted @ 2020-08-05 20:12 超人小冰 阅读(554) 评论(0) 推荐(1) 编辑
摘要: 上一章分析了mybatis的源码的日志模块,像我们经常说的mybatis一级缓存,二级缓存,缓存究竟在底层是怎样实现的。此次开始分析缓存模块 1. 源码位置,mybatis源码包位于org.apache.ibatis.cache下,如图 2. 先从org.apache.ibatis.cache下的c 阅读全文
posted @ 2020-07-28 20:45 超人小冰 阅读(385) 评论(0) 推荐(0) 编辑