帮助中心网站怎么做,seo是什么意思呢,外包平台,wordpress form 高度若依RuoYi-Vue分离版—配置多数据源 一、修改application-druid.yml二、修改pom文件#xff0c;引入依赖第一种#xff1a;下载jar包到本地#xff0c;然后引入#xff08;我这边用的是这种#xff09;本地引入的#xff0c;打包时需要加上配置 第二种#xff1a;从远程… 若依RuoYi-Vue分离版—配置多数据源 一、修改application-druid.yml二、修改pom文件引入依赖第一种下载jar包到本地然后引入我这边用的是这种本地引入的打包时需要加上配置 第二种从远程maven仓库引入 三、修改多数据源配置类,新增从数据库配置3.1 修改 多数据源枚举3.2 修改 多数据源配置类 如何切换使用 记录一下使用若依框架配置多数据库时踩到的坑主数据库是mysql从数据库是dm 一、修改application-druid.yml # 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSource# 多数据源需要注释下面这行配置 这行配置表示直接指定mysql的驱动#driverClassName: com.mysql.cj.jdbc.Driverdruid:# 主库数据源master:url: jdbc:mysql://localhost:3306/ry-vue?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLtrueserverTimezoneGMT%2B8username: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driver# 从库数据源slave:# 从数据源开关/默认关闭enabled: falseurl: username: password:dmsource:# 从数据源开关/默认关闭enabled: trueurl: jdbc:dm://192.100.198.19:5236username: DBDWSpassword: SYSDBA001driverClassName: dm.jdbc.driver.DmDriver# 初始连接数initialSize: 5# 最小连接池数量minIdle: 10# 最大连接池数量maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置连接超时时间connectTimeout: 30000# 配置网络超时时间socketTimeout: 60000# 配置间隔多久才进行一次检测检测需要关闭的空闲连接单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间单位是毫秒minEvictableIdleTimeMillis: 300000# 配置一个连接在池中最大生存的时间单位是毫秒maxEvictableIdleTimeMillis: 900000# 配置检测连接是否有效validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsewebStatFilter: enabled: truestatViewServlet:enabled: true# 设置白名单不填则允许所有访问allow:url-pattern: /druid/*# 控制台管理用户名和密码login-username: ruoyilogin-password: 123456filter:stat:enabled: true# 慢SQL记录log-slow-sql: trueslow-sql-millis: 1000merge-sql: truewall:config:multi-statement-allow: true二、修改pom文件引入依赖 引入数据库驱动包有两种方式
第一种下载jar包到本地然后引入我这边用的是这种
对于关系为 DmJdbcDriver16 Jdk1.6 DmJdbcDriver17 Jdk1.7 DmJdbcDriver18 Jdk1.8。 !-- 达梦数据库驱动 project.basedir表示项目根路径--
dependencygroupIdcom.dm/groupIdartifactIdDmJdbcDriver18/artifactIdversion1.8/versionscopesystem/scopesystemPath${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar/systemPath
/dependency${project.basedir} 是一个 Maven 属性它会被解析为项目的根目录的绝对路径。这通常用于在 Maven 插件配置中引用文件或目录。 本地引入的打包时需要加上配置
在根目录下 pom.xml 文件中添加
!-- 打包外部jar --
plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfiguration!--设置为true以便把本地的system的jar也包括进来--includeSystemScopetrue/includeSystemScope/configuration
/plugin第二种从远程maven仓库引入 !--https://mvnrepository.com/artifact/com.dameng/DmJdbcDriver18 --dependencygroupIdcom.dameng/groupIdartifactIdDmJdbcDriver18/artifactIdversion8.1.2.192/version/dependency三、修改多数据源配置类,新增从数据库配置
3.1 修改 多数据源枚举 package com.ruoyi.common.enums;/*** 数据源* * author ruoyi*/
public enum DataSourceType
{/*** 主库*/MASTER,/*** 从库*/SLAVE,/***达梦库*/DMSOURCE
}
3.2 修改 多数据源配置类 BeanConfigurationProperties(spring.datasource.druid.dmsource)ConditionalOnProperty(prefix spring.datasource.druid.dmsource, name enabled, havingValue true)public DataSource dmsourceDataSource(DruidProperties druidProperties){DruidDataSource dataSource DruidDataSourceBuilder.create().build();return druidProperties.dataSource(dataSource);}Bean(name dynamicDataSource)Primarypublic DynamicDataSource dataSource(DataSource masterDataSource){MapObject, Object targetDataSources new HashMap();targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);setDataSource(targetDataSources, DataSourceType.SLAVE.name(), slaveDataSource);setDataSource(targetDataSources, DataSourceType.DMSOURCE.name(), dmsourceDataSource);//从以下可看出第一个参数为指定默认数据源(此处为master)第二个参数为多数据源return new DynamicDataSource(masterDataSource, targetDataSources);}如何切换使用 使用多数据源 service方法 或 service类 mapper方法 或 mapper类上 或 mapper接口上 添加DataSource注解其中value用来表示数据源。 只需要在其中一处加即可只给mapper或者只给service加 例如
参考文章 【1】若依框架 spring boot mybatis 多数据库配置(mysqloracle) 【2】若依v3.8.6前后端分离版集成达梦数据库DM8 【3】通过scopesystem/scope依赖本地jar包时要注意了