首页 > 代码库 > sharding-jdbc-how2work 当当的sharding-jdbc剖析(查询)

sharding-jdbc-how2work 当当的sharding-jdbc剖析(查询)

1. 以JDBC作为出发点

1.1 重新实现了JDBC的几个接口

实现javax.sql.DataSource接口  ShardingDataSource
实现java.sql.Connection接口 ShardingConnection
实现java.sql.Statement ShardingStatement
实现java.sql.PreparedStatement ShardingPreparedStatement
实现java.sql.ResultSet AbstractShardingResultSet

重新实现的模式是adapter的模式

具体的实现分析见下面的思维导图

技术分享

1.2 聚合 比较排序的处理

技术分享

2. Executor

技术分享

3. Route

技术分享

4. Parse后visitor的处理

技术分享

4.1  AbstractMySQLVisitor 处理细节

技术分享

4.2 MySQLSelectVisitor 逻辑

技术分享

delete insert  update的见第4节一开始的那张图。

sharding-jdbc-how2work 当当的sharding-jdbc剖析(查询)