若依分离版 --- 设置多数据源(主mysql,从sqlserver)

主库mysql,从库sqlserver

1.修改application-druid.yml配置

配至slave

修改validationQuery: SELECT 1 ,要不然sqlserver会报错

下面是完整的配置,可直接使用,根据自己情况,可配置其它情形的主从

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        #driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: jdbc:mysql://localhost:3306/ry-vue-sh?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: 123456
                driverClassName: com.mysql.cj.jdbc.Driver
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
                enabled: true
                url: jdbc:sqlserver://localhost:1433;DatabaseName=YcTest;encrypt=false;SelectMethod=cursor
                username: sa
                password: 123456
                driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

            # 初始连接数
            initialSize: 5
            # 最小连接池数量
            minIdle: 10
            # 最大连接池数量
            maxActive: 20
            # 配置获取连接等待超时的时间
            maxWait: 60000
            # 配置连接超时时间
            connectTimeout: 30000
            # 配置网络超时时间
            socketTimeout: 60000
            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
            timeBetweenEvictionRunsMillis: 60000
            # 配置一个连接在池中最小生存的时间,单位是毫秒
            minEvictableIdleTimeMillis: 300000
            # 配置一个连接在池中最大生存的时间,单位是毫秒
            maxEvictableIdleTimeMillis: 900000
            # 配置检测连接是否有效
            #validationQuery: SELECT 1 FROM DUAL
            validationQuery: SELECT 1
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            webStatFilter:
                enabled: true
            statViewServlet:
                enabled: true
                # 设置白名单,不填则允许所有访问
                allow:
                url-pattern: /druid/*
                # 控制台管理用户名和密码
                login-username: ruoyi
                login-password: 123456
            filter:
                stat:
                    enabled: true
                    # 慢SQL记录
                    log-slow-sql: true
                    slow-sql-millis: 1000
                    merge-sql: true
                wall:
                    config:
                        multi-statement-allow: true

2.pom文件

是加在admin的pom里面,而不是最外层的pom,最外层不会生效

   
        
            com.microsoft.sqlserver
            mssql-jdbc
            9.2.1.jre8
        

若依分离版 --- 设置多数据源(主mysql,从sqlserver)_第1张图片

3.在service或mapper加上对应的从库的注解

可加在业务层,数据层

可加在类上,方法上

若依分离版 --- 设置多数据源(主mysql,从sqlserver)_第2张图片

你可能感兴趣的:(若依分离版,sqlserver,mysql,数据库,java)