mybatis整合shardingjdbc的实现原理(接入点)

一只在纠结mybatis和sdjdbc的接入点在哪,往回看的时候发现自己对spring怎么结合mybaits的原理也不熟悉,路漫漫啊。。。。
spring+mybatis原理:https://blog.csdn.net/lihuayong/article/details/83934744
这个里面介绍里Configuration,environment对象怎么被创建的,里面传入的datasource就是被sharding的datasource.
然后开始DeBug…以insert()方法为例
直接走到了doUpdate()方法,前面怎么走不知道的可以看下mybatis执行源码
mybatis整合shardingjdbc的实现原理(接入点)_第1张图片
现在的statement还是MappedStatement,当prepareStatement()执行后,看下:
mybatis整合shardingjdbc的实现原理(接入点)_第2张图片
被转换从了ShardingPrepareStatement,然后进入PrepareStatementhandler的update()方法:
mybatis整合shardingjdbc的实现原理(接入点)_第3张图片
这个ps.execute()调用的就是
mybatis整合shardingjdbc的实现原理(接入点)_第4张图片
是不是看到了熟悉的route()了。
简单的说就是传入一个数据源datasource,然后编辑statement,最后调用到shardingjdbc的方法里去

你可能感兴趣的:(mybatis)