sharding-jdbc源码解析之jdbc规范重写


声明:本文转载自https://my.oschina.net/u/3775437/blog/1647894,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

说在前面

这次主要介绍的是sharding-jdbc的几个核心接口实现

 

ShardingConnection

类图如下

com.dangdang.ddframe.rdb.sharding.jdbc.unsupported.AbstractUnsupportedOperationConnection不支持操作的数据库连接对象

com.dangdang.ddframe.rdb.sharding.metrics.MetricsContext 度量上下文,实现了计时功能,threadLocal实现线程安全

ShardingConnection的适配器类,模板方法、适配器模式实现,方便后期扩展

com.dangdang.ddframe.rdb.sharding.jdbc.core.connection.ShardingConnection支持分片的数据源连接对象

执行上下文对象

sql类型,目前支持这三种类型

 

ShardingDatasource

类图如下

com.dangdang.ddframe.rdb.sharding.jdbc.unsupported.AbstractUnsupportedOperationDataSource不支持的数据源对象

com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractDataSourceAdapter数据源适配器类用来获取数据库连接对象,适配器模式实现,方便后期扩展

com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource支持分片的数据库对象

 

ShardingStatement

类图如下

com.dangdang.ddframe.rdb.sharding.jdbc.unsupported.AbstractUnsupportedOperationStatement不支持操作的statement,com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter statement的适配器实现,适配器模式实现

com.dangdang.ddframe.rdb.sharding.jdbc.core.statement.ShardingStatement支持分片的statement

 

ShardingPreparedStatement

类图如下

com.dangdang.ddframe.rdb.sharding.jdbc.unsupported.AbstractUnsupportedOperationPreparedStatement不支持操作的预编译statement

com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractPreparedStatementAdapter 预编译statement的适配器类实现

com.dangdang.ddframe.rdb.sharding.jdbc.core.statement.ShardingPreparedStatement支持分片的预编译statement

 

ShardingResultSet

类图如下

com.dangdang.ddframe.rdb.sharding.jdbc.unsupported.AbstractUnsupportedUpdateOperationResultSet 不支持操作的结果集对象

com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractResultSetAdapter 结果集适配器实现,适配器模式

com.dangdang.ddframe.rdb.sharding.jdbc.core.resultset.ShardingResultSet 支持分片的结果集

 

说到最后

本文只要介绍了sharding-jdbc的实现原理,以及实现了jdbc规范的几个主要的类,由此可见sharding-jdbc是对jbdc规范的一种实现,和mysql和oracle的数据库驱动实现一样,sharding-jdbc是一种增强的支持分片的数据库驱动, 这几个对象都是适配器模式对原生态的jdbc规范的进一步扩展,都是用继承这种方式实现的适配器模式,还可以利用接口的方式实现适配器模式,以上内容仅供参考。

本文发表于2018年03月20日 22:38
(c)注:本文转载自https://my.oschina.net/u/3775437/blog/1647894,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2404 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1