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

时间:2023-03-09 07:55:59
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的模式

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

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

1.2 聚合 比较排序的处理

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

2. Executor

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

3. Route

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

4. Parse后visitor的处理

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

4.1  AbstractMySQLVisitor 处理细节

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

4.2 MySQLSelectVisitor 逻辑

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

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