SpringCloud 基于 Hint 算法分片策略分库

本文介绍了如何使用SpringCloud结合Hint分片策略实现数据库分库。通过添加aop和sharding-jdbc依赖,配置yml,编写切面类、分库路由值实体类和拦截器,确保每次请求都能正确路由到对应省份的数据库。同时提到Mycat作为另一种分库方案,并表达了后续学习分享的计划。
摘要由CSDN通过智能技术生成

1、添加 aop 、sharding-jdbc 依赖

        <!--aop->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!--sharding-jdbc-->
        <dependency>
            <groupId>io.shardingsphere</groupId>
            <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2、yml文件配置

# 数据源
sharding.jdbc.datasource.names=xxx-pub,xxx-ha,xxx-sd,xxx-zj,xxx-hq,xxx-tw,xxx-js,xxx-fj
# 
sharding.jdbc.datasource.xxx-ha.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.xxx-ha.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.xxx-ha.jdbcUrl=jdbc:mysql://localhost:3306/xxx_ha?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
sharding.jdbc.datasource.xxx-ha.username=root
sharding.jdbc.datasource.xxx-ha.password=root

# 
sharding.jdbc.datasource.xxx-sd.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.xxx-sd.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.xxx-sd.jdbcUrl=jdbc:mysql://localhost:3306/xxx_sd?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
sharding.jdbc.datasource.xxx-sd.username=root
sharding.jdbc.datasource.xxx-sd.password=root

# 
sharding.jdbc.datasource.xxx-zj.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.xxx-zj.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.xxx-zj.jdbcUrl=jdbc:mysql://localhost:3306/xxx_zj?useUnicode=true&am
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值