Sharding-JDBC--整合MybatisPlus多数据源--方法/实例

原文网址:Sharding-JDBC--整合MybatisPlus多数据源--方法/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

本文用实例介绍Sharding-JDBC与MybatisPlus多数据源的整合。

为什么有了sharding还要配置多数据源?

ShardingSphere是将多个数据源合并为一个统一的逻辑数据源。因此即使不分库分表的部分,不配置分片规则ShardingSphere即无法精确的断定应该路由至哪个数据源。 ShardingSphere提供了下边两种变通的方式(本文介绍第二种)

方法一:配置default-data-source

凡是在默认数据源中的表可以无需配置在分片规则中,ShardingSphere将在找不到分片数据源的情况下将表路由至默认数据源。
缺点:若表不在默认数据源中,还是需要将表配置到分片规则中。除非将所有不需要进行分片的表都放在默认数据源里,那么倒是可以这么做,否则你就得一个一个配置表的分片规则了。

方法二:将不参与分库分表的数据源独立于ShardingSphere之外

在应用中使用多个数据源分别处理分片和不分片的情况。

优点:将不分片的数据源独立出来,开发者可以通过多数据源自主选择处理不同情况,仅需要简单配置后加个注解即可。

mybatis-plus的动态数据源

本文使用mybatis-plus的动态数据源来进行演示。使用它还有如下优点:

sharding jdbc对一些语法不支持,官方文档里说的比较笼统,如下图:

像insert into ... select这些语法是不支持的(对于没有涉及到分表的语句,也有同样的限制)例如,项目里有个SQL:insert into user_temp select * from user;在集成了sharding jdbc后,即使user表没有配置分表,执行该SQL也会报错。 

实战

说明:本处实战与此文(Sharding-JDBC--分库分表--使用/教程/实例_IT利刃出鞘的博客-CSDN博客)用的同一个工程。

建库建表

建库

创建两个库:sharding-jdbc0、sharding-jdbc1

建表

在上边两个库里按下边这个结构创建表,以t_order_0和t_order_1命名。另外,在sharding-jdbc0中单独创建一个t_order,也用下边的建表语句。

上边是文章的部分内容,为便于维护,全文已转移到此网址:Sharding-JDBC-整合MybatisPlus多数据源-方法/实例 - 自学精灵

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值