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

说在前面

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

ShardingConnection

类图如下

sharding-jdbc源码解析之jdbc规范重写_第1张图片

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

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

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

sharding-jdbc源码解析之jdbc规范重写_第2张图片

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

sharding-jdbc源码解析之jdbc规范重写_第3张图片

执行上下文对象

sharding-jdbc源码解析之jdbc规范重写_第4张图片

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

sharding-jdbc源码解析之jdbc规范重写_第5张图片

ShardingDatasource

类图如下

sharding-jdbc源码解析之jdbc规范重写_第6张图片

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支持分片的数据库对象

sharding-jdbc源码解析之jdbc规范重写_第7张图片

ShardingStatement

类图如下

sharding-jdbc源码解析之jdbc规范重写_第8张图片

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

类图如下

sharding-jdbc源码解析之jdbc规范重写_第9张图片

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

类图如下

sharding-jdbc源码解析之jdbc规范重写_第10张图片

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规范的进一步扩展,都是用继承这种方式实现的适配器模式,还可以利用接口的方式实现适配器模式,以上内容仅供参考。



关注微信公众号

sharding-jdbc源码解析之jdbc规范重写_第11张图片

加入技术微信群

sharding-jdbc源码解析之jdbc规范重写_第12张图片

你可能感兴趣的:(sharding-jdbc源码解析之jdbc规范重写)