Sharding-JDBC
文章平均质量分 86
Sharding-JDBC 学习分享
朝 花 拾 夕
这个作者很懒,什么都没留下…
展开
-
ShardingSphere-JDBC SPI扩展点-SQLRewriteContextDecorator
通过ShardingSphere自带的Token接口OptionalSQLTokenGenerator实现自定义Token生成器,由于在插入语句和查询语句中插入字段的方式是不一样的(插入语句字段之前用逗号分隔,查询语句where条件后用and分隔),所以即使插入一个字段也需要实现多个Token生成器,下面以简单的查询语句类型为例。原创 2023-02-26 23:16:41 · 724 阅读 · 0 评论 -
ShardingSphere-JDBC SPI扩展点-RouteDecorator
装饰器扩展点org.apache.shardingsphere.underlying.route.decorator.RouteDecoratororg.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecoratororg.apache.shardingsphere.underlying.merge.engine.decorator.ResultDecoratorEngineorg.apache.shardin原创 2021-09-21 23:31:41 · 593 阅读 · 0 评论 -
ShardingSphere-JDBC SPI扩展点-Hook
钩子类扩展点介绍包括以下四个Hook接口org.apache.shardingsphere.underlying.common.hook.RootInvokeHookorg.apache.shardingsphere.sql.parser.hook.ParsingHookorg.apache.shardingsphere.underlying.route.hook.RoutingHookorg.apache.shardingsphere.underlying.executor.hook.SQLE原创 2021-09-21 22:04:37 · 684 阅读 · 0 评论 -
ShardingSphere-JDBC SPI扩展点介绍
基于 SpringBoot2.4.1 快速搭建一个 Demo,主要 jar 包依赖版本分别是:org.apache.shardingsphere.sharding-jdbc-spring-boot-starter:4.1.1org.mybatis.spring.boot.mybatis-spring-boot-starter:2.1.4在最新的ShardingSphere发行版中,提供了大量的SPI扩展点,开发可以利用SPI扩展点满足各式各样的业务场景。但在官方文档里并未找到对扩展点的详细介绍,原创 2021-08-01 12:30:15 · 646 阅读 · 1 评论 -
Sharding-JDBC 源码之结果集归并
Sharding-JDBC 系列第一篇 Sharding-JDBC 源码之启动流程分析第二篇 Sharding-JDBC 源码之 SQL 解析第三篇 Sharding-JDBC 源码之 SQL 路由第四篇 Sharding-JDBC 源码之 SQL 改写第五篇 Sharding-JDBC 源码之 SQL 执行第六篇 Sharding-JDBC 源码之结果集归并(本文)将从各个数据节点获取的多数据结果集,组合成为一个结果集并正确的返回至请求客户端,称为结果归并。由于从数据库中返回的结果集原创 2021-01-02 16:09:47 · 1915 阅读 · 0 评论 -
Sharding-JDBC 源码之 SQL 执行
Sharding-JDBC 系列第一篇 Sharding-JDBC 源码之启动流程分析第二篇 Sharding-JDBC 源码之 SQL 解析第三篇 Sharding-JDBC 源码之 SQL 路由第四篇 Sharding-JDBC 源码之 SQL 改写第五篇 Sharding-JDBC 源码之 SQL 执行(本文)Sharding-JDBC 使用执行引擎将路由和改写完成之后的真实SQL安全且高效发送到底层数据源执行。 它不是简单地将SQL通过JDBC直接发送至数据源执行;也并非直接将执原创 2020-12-27 23:07:40 · 915 阅读 · 0 评论 -
Sharding-JDBC 源码之 SQL 改写
Sharding-JDBC 系列第一篇 Sharding-JDBC 源码之启动流程分析第二篇 Sharding-JDBC 源码之 SQL 解析第三篇 Sharding-JDBC 源码之 SQL 路由第三篇 Sharding-JDBC 源码之 SQL 改写在完成 SQL 路由后,我们就会拿到实际要查询的数据源名称及实际表节点。这时候就需要对原逻辑 SQL 进行改写,将逻辑表名替换为真实表名,这一步 Sharding-JDBC 是由改写引擎 SQLRewriteEngine 来完成的。目录原创 2020-12-27 14:52:34 · 2244 阅读 · 5 评论 -
Sharding-JDBC 源码之 SQL 路由
系列文章目录第一篇 Sharding-JDBC 源码之启动流程分析第二篇 Sharding-JDBC 源码之 SQL 解析第三篇 Sharding-JDBC 源码之 SQL 路由接上文,在完成 SQL 解析之后,也就意味着我们拿到了逻辑 SQL 的抽象语法树及解析结果,例如,以下SQL:select goods_name from t_goods where goods_id=1 and type=0解析之后的为抽象语法树见下图:接下来,我们将继续学习SQL 路由过程。目录系列文原创 2020-12-26 23:20:54 · 1403 阅读 · 0 评论 -
Sharding-JDBC 源码之 SQL 解析
基于 SpringBoot2.4 快速搭建一个 Demo,主要 jar 包依赖版本分别是:io.shardingsphere.sharding-jdbc-spring-boot-starter:3.0.0.M1com.alibaba.druid-spring-boot-starter:1.1.17org.mybatis.spring.boot.mybatis-spring-boot-starter:2.1.4在执行 SQL 时,Sharding-JDBC 需要根据启动时获取到的数据源、路由等配置原创 2020-12-24 22:55:22 · 2033 阅读 · 0 评论 -
Sharding-JDBC 源码之启动流程分析
Sharding-JDBC 是 ShardingSphere 开源的分布式数据库中间件产品之一,提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。Sharding-JDBC 在 Java 的 JDBC 层提供额外服务,它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架接下来,让我们由简入繁,逐渐拉来 Sharding-JDBC 的序幕。首先基于 Sprin.原创 2020-12-20 21:48:41 · 1987 阅读 · 0 评论