springboot结合sharding-jdbc4.0版本实现读写分离(整合druid+mybatis)

本文介绍如何在Spring Boot项目中配置并使用Sharding-JDBC实现数据源的读写分离,包括Mysql数据源配置及Druid连接池的具体设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

sharding-jdbc具体使用方式

先在pom.xml中引入依赖

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>4.0.1</version>
</dependency>

这里用的是sharding-jdbc-spring-boot-starter
需要注意的是,此时druid不能用spring-boot-starter版本的,需要用正常的包:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.22</version>
</dependency>

不然启动会报错找不到url

配置文件

spring:
  
  shardingsphere:
    datasource:
      names: master,slave0
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/test
        username: root
        password: 123456

        #connection-init-sqls: set names utf8mb4;
        #initial-size: 10
        #max-active: 100
        #min-idle: 10
        #max-wait: 60000
        #pool-prepared-statements: true
        #max-pool-prepared-statement-per-connection-size: 20
        #time-between-eviction-runs-millis: 60000
        #min-evictable-idle-time-millis: 300000
        #test-while-idle: true
        #test-on-borrow: false
        #test-on-return: false

        #filter:
          #stat:
            #log-slow-sql: true
            #slow-sql-millis: 1000
            #merge-sql: false

          #slf4j:
            #enabled: true
            #statement-executable-sql-log-enable: true
            #statement-log-enabled: false
      slave0:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/test
        username: root
        password: 123456

        #connection-init-sqls: set names utf8mb4;
        #initial-size: 10
        #max-active: 100
        #min-idle: 10
        #max-wait: 60000
        #pool-prepared-statements: true
        #max-pool-prepared-statement-per-connection-size: 20
        #time-between-eviction-runs-millis: 60000
        #min-evictable-idle-time-millis: 300000
        #test-while-idle: true
        #test-on-borrow: false
        #test-on-return: false

        #filter:
          #stat:
            #log-slow-sql: true
            #slow-sql-millis: 1000
            #merge-sql: false

          #slf4j:
            #enabled: true
            #statement-executable-sql-log-enable: true
            #statement-log-enabled: false

    masterslave:
      load-balance-algorithm-type: round_robin
      name: ms
      master-data-source-name: master
      slave-data-source-names: slave0,slave1

    props:
      sql:
        show: true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值