zoukankan      html  css  js  c++  java
  • Spring boot中使用sharding-jdbc完成读写分离配

    1.引入依赖

            <dependency>
                <groupId>io.shardingjdbc</groupId>
                <artifactId>sharding-jdbc-core</artifactId>
                <version>2.0.3</version>
            </dependency>        
    

      

    2.在src/main/resources中添加配置文件sharding-jdbc.yml

    dataSources:
      db_master: !!com.zaxxer.hikari.HikariDataSource
        driverClassName: com.mysql.jdbc.Driver
        jdbcUrl: jdbc:mysql://192.168.31.128:3307/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
        username: root
        password: root
      db_slave1: !!com.zaxxer.hikari.HikariDataSource
        driverClassName: com.mysql.jdbc.Driver
        jdbcUrl: jdbc:mysql://192.168.31.128:3316/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
        username: root
        password: root
      db_slave2: !!com.zaxxer.hikari.HikariDataSource
          driverClassName: com.mysql.jdbc.Driver
          jdbcUrl: jdbc:mysql://192.168.31.128:3317/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
          username: root
          password: root
    masterSlaveRule:
      name: db_ms
      masterDataSourceName: db_master
      slaveDataSourceNames: [db_slave1,db_slave2]
    
    ###注意,这份文档直接从官网复制的。!!后面是DataSource的实现类全类名不能省略。
    ###多个slave加多份db_slaveXX配置即可,在slaveDataSourceNames列举这些slaver
    

      

    3.添加数据源配置类

    /**
     * 这是一个配置类
     *
     * SpringBoot引入某个场景,这个场景的组件就会自动配置好。
     * 1)、
     */
    @Configuration
    public class PmsDataSourceConfig {
    
        @Bean
        public DataSource dataSource() throws IOException, SQLException {
    
            File file = ResourceUtils.getFile("classpath:sharding-jdbc.yml");
            DataSource dataSource = MasterSlaveDataSourceFactory.createDataSource(file);
            return dataSource;
        }
    }
    

      

  • 相关阅读:
    Cooperate with Myself
    A brief introduction of myself
    计算1+11+111+1111+........
    Jav实现F(n)=F(n-1)+F(n-2)+.....+F(1)+1
    查找二维数组中是否有符合的目标值
    排序算法
    时间复杂度
    Java代码实现单例模式
    查找一个字符串中重复出现字符的个数
    null,“”,empty的区别
  • 原文地址:https://www.cnblogs.com/shifu204/p/12626886.html
Copyright © 2011-2022 走看看