mybatis源码思路分析

之前写了一篇关于Mybatis的源码分析,感觉思路不是很清晰,没有一个大框架的思路去解析。因为如果只是看源码,看到这么多的包,都有一种很崩溃的感觉,
那我们真是too yong too simple了,包下的类更让你疯狂,其实一个框架没有这么多类的支持怎么可能健壮和严谨,并且已于我们使用。
其实看到这些,想一想我们的项目基本差不多,为什么我们对我们自己的项目很熟悉,因为我们经常在维护,编写,所以我们熟悉,并不代表我们技术很强。
首先,我们在使用的时候,基本是基于Mapper,那我们就顺着Mapper这条路往上层看,
1.Mapper的实现是在xml中注入的,
2.xml的解析是由工具类XMLConfigBuilder,把读到的信息都设置到Configuration。
3.在Mapper执行方法的时候,这个前提需要数据库连接已经初始化好了,这个时候就要看Sqlsession
4.SqlSessionFactoryBuilder创建SqlSessionFactory,采用默认的DefaultSqlSessionFactory工厂,工厂在创建Sqlsession
5. DefaultSqlSession 类里面有 Configuration,Executor这两个类,我们也就看到了核心的一个类,执行器类Executor。
6.sqlsession再去查询得到时候,调用的是executor.query()方法,以及其他的插入,删除,修改。
7.executor的实现类有多重,默认是SimpleExecutor,可以进行配置,批量插入或者其他,根据业务去配置
8.SimpleExecutor执行器,他内部就是操作数据库。
基本的大致流程就是这样,可能有人会问,还有很多没写全,是的,像如何连接数据库,如何映射结果集,如何处理事务,如何处理一级,二级缓存等等
其实只要框架弄好,这些东西只是在框架上面的增加。
这里只是讲了一下自己的思路,接下来,还是会逐一的进行分解式的来记录查看源码包获得的一些感受。

mybatis源码解析一

mybatis源码解析之二

mybatis源码解析之三


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值