Sharding Jdbc 5.x 版本移除了默认数据源的问题

文章目录

结论

先说结论,Sharding Jdbc 5.x 版本应该有可以获取数据库元信息的机制,只要你相同表名的表只有一个,那么框架可以自动定位到所在的数据源,具体可以参考以下的类:

class MySQLTableMetaDataLoader implements DialectTableMetaDataLoader

本人也是简单看了一下,发现百度上很少相关的资料,于是就写了一篇博客,本人意见不代表最终结论,如果有不正确的地方请大佬指正,感谢!

过程

本人在使用 Sharding Jdbc 4.x 版本的资料学习 Sharding Jdbc 5.x 时候,需要配置一个默认数据源,发现了以下配置不再生效:

spring.shardingsphere.sharding.default-data-source-name=

后面在github上的issue上发现也有人提出这样的问题:原地址

经过长时间谷歌发现了 Sharding Jdbc 5 中有一个元信息的概念,然后去看官网文档:文档地址

发现了以下配置,于是就判断应该是有一些机制在程序启动的时候读取数据库的元信息,这样路由的时候就可以知道表在哪一个数据源:

SPI 名称详细说明
DialectTableMetaDataLoader用于使用数据库方言快速加载元数据
已知实现类详细说明
MySQLTableMetaDataLoader使用 MySQL 方言加载元数据
OracleTableMetaDataLoader使用 Oracle 方言加载元数据
PostgreSQLTableMetaDataLoader使用 PostgreSQL 方言加载元数据
SQLServerTableMetaDataLoader使用 SQLServer 方言加载元数据
H2TableMetaDataLoader使用 H2 方言加载元数据
OpenGaussTableMetaDataLoader使用 OpenGauss 方言加载元数据

小结

Sharding Jdbc 5.x 新增了自动读取数据库元信息的机制,可以定位到你的表所在的数据源,前提是相同表名的表只有一个。
本人也是简单看了一下,发现百度上很少相关的资料,于是就写了一篇博客,本人意见不代表最终结论,如果有不正确的地方请大佬指正,感谢!

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值