springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件

先配置MySQL,代码如下

spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSource

druid:

# 主库数据源

master:

url: jdbc:mysql://localhost:3308/?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

username: root

password: 123456

# 从库数据源

slave:

# 从数据源开关/默认关闭

enabled: true

url: jdbc:mysql://localhost:3308/?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

username: root

password: 123456

# 初始连接数

initialSize: 5

# 最小连接池数量

minIdle: 10

# 最大连接池数量

maxActive: 20

# 配置获取连接等待超时的时间

maxWait: 60000

# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

timeBetweenEvictionRunsMillis: 60000

# 配置一个连接在池中最小生存的时间,单位是毫秒

minEvictableIdleTimeMillis: 300000

# 配置一个连接在池中最大生存的时间,单位是毫秒

maxEvictableIdleTimeMillis: 900000

# 配置检测连接是否有效

validationQuery: SELECT 1 FROM DUAL

testWhileIdle: true

testOnBorrow: false

testOnReturn: false

webStatFilter:

enabled: true

statViewServlet:

enabled: true

# 设置白名单,不填则允许所有访问

allow:

url-pattern: /druid/*

# 控制台管理用户名和密码

login-username:

login-password:

filter:

stat:

enabled: true

# 慢SQL记录

log-slow-sql: true

slow-sql-millis: 1000

merge-sql: true

wall:

config:

multi-statement-allow: true

接下来配置DB2

second:

spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.ibm.db2.jcc.DB2Driver

url: jdbc:db2://:/:currentSchema=;

username:

password:

# 初始连接数

initialSize: 5

# 最小连接池数量

minIdle: 10

# 最大连接池数量

maxActive: 20

# 配置获取连接等待超时的时间

maxWait: 60000

# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

timeBetweenEvictionRunsMillis: 60000

# 配置一个连接在池中最小生存的时间,单位是毫秒

minEvictableIdleTimeMillis: 300000

# 配置一个连接在池中最大生存的时间,单位是毫秒

maxEvictableIdleTimeMillis: 900000

# 配置检测连接是否有效 注意这里DUAL是检测的表名,可以是当前schema下的任意一张表

validationQuery: SELECT 1 FROM ****

testWhileIdle: true

testOnBorrow: false

testOnReturn: false

webStatFilter:

enabled: true

statViewServlet:

enabled: true

# 设置白名单,不填则允许所有访问

allow:

url-pattern: /druid/*

# 控制台管理用户名和密码

login-username:

login-password:

filter:

stat:

enabled: true

# 慢SQL记录

log-slow-sql: true

slow-sql-millis: 1000

merge-sql: true

wall:

config:

multi-statement-allow: true

OK这样就能通过Config获取到了,下面是Config源码

package com.map.framework.config;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Primary;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;

import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;

import com.alibaba.druid.util.Utils;

import com.map.common.enums.DataSourceType;

import com.map.common.utils.spring.SpringUtils;

import com.map.framework.config.properties.DruidProperties;

import com.map.framework.datasource.DynamicDataSource;

import org.springframework.jdbc.datasource.DataSourceTransactionManager;

/**

* druid 配置多数据源

*

*

*/

@Configuration

public class DruidConfig

{

@Bean

@ConfigurationProperties("spring.datasource.druid.master")

public DataSource masterDataSource(DruidProperties druidProperties)

{

DruidDataSource dataSource = DruidDataSourceBuilder.create().build();

return druidProperties.dataSource(dataSource);

}

@Bean

@ConfigurationProperties("spring.datasource.druid.slave")

@ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")

public DataSource slaveDataSource(DruidProperties druidProperties)

{

DruidDataSource dataSource = DruidDataSourceBuilder.create().build();

return druidProperties.dataSource(dataSource);

}

@Bean

@ConfigurationProperties("second.spring.datasource")

public DataSource db2DataSource(DruidProperties druidProperties)

{

DruidDataSource dataSource = DruidDataSourceBuilder.create().build();

return druidProperties.dataSource(dataSource);

}

@Bean(name = "dynamicDataSource")

@Primary

public DynamicDataSource dataSource(DataSource masterDataSource)

{

Map targetDataSources = new HashMap<>();

targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);

setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");

setDataSource(targetDataSources, DataSourceType.DB2.name(), "db2DataSource");

return new DynamicDataSource(masterDataSource, targetDataSources);

}

/**

* 设置数据源

*

* @param targetDataSources 备选数据源集合

* @param sourceName 数据源名称

* @param beanName bean名称

*/

public void setDataSource(Map targetDataSources, String sourceName, String beanName)

{

try

{

DataSource dataSource = SpringUtils.getBean(beanName);

targetDataSources.put(sourceName, dataSource);

}

catch (Exception e)

{

}

}

}

这就是我整合MySQL和DB2时遇到的问题,记录一下

总结

到此这篇关于springboot的yml配置文件通过db2的方式整合mysql的教程的文章就介绍到这了,更多相关springboot yml配置文件整合mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程相关推荐

  1. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例

    本篇文章小编给大家分享一下springboot的yml配置文件通过db2的方式整合mysql代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. s ...

  2. .net后台怎么提取html中的多个图片的绝对地址_SpringBoot中yml配置文件说明和一些常用配置项说明...

    1. 配置文件说明 Springboot启动默认扫描的配置为classes目录下的application.yml 或者是 application.properties 我们项目中是使用的yml格式的配 ...

  3. Destoon数据库配置文件在哪_SpringBoot中yml配置文件说明和一些常用配置项说明

    1. 配置文件说明 Springboot启动默认扫描的配置为classes目录下的application.yml 或者是 application.properties 我们项目中是使用的yml格式的配 ...

  4. springboot中如何获取yml配置文件中的配置信息

    yml 取值 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereot ...

  5. c++读取txt文件中的数字_SpringBoot 多种读取配置文件中参数的方式

    点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/61/ . 一.简介 . 1.SpringBoot ...

  6. 对spring boot yml配置文件敏感信息加密处理的两种方式

    目录 方式一:手动配置加密处理(手动配置分三种情况) 方式二:spring boot整合Jasypt实现yml配置文件敏感信息加密 yml配置文件敏感信息无非就是数据库密码,redis密码,以及整合的 ...

  7. SpringMVC学习(六)——Spring四种方式整合MyBatis

    文章目录 1.引言 2.Spring整合Mybatis 2.1.常规整合 2.1.1.项目的结构 2.1.2.applicationContext.xml配置 2.1.3.UserInfoMapper ...

  8. springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值

    SpringBoot现在基本上都是使用application-XXX.yml(生产环境为pro,开发测试环境为dev)来配置项目中的一些配置条件,在springboot中还可以通过从yml文件中将ym ...

  9. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

最新文章

  1. 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II
  2. 网络数据包发送接收全过程
  3. 数据显示,中国近一半的独角兽企业由“BATJ”四巨头投资
  4. 原生JS替代jQuery的各种方法汇总
  5. 小刘同学的CMOS模拟集成电路学习小记(不停更新)
  6. java发送带附件的电子邮件
  7. vba代码换行的写法总结
  8. 计算机视觉-论文阅读笔记-基于高性能检测器与表观特征的多目标跟踪
  9. 传统的企业如何实现数字化转型?
  10. 点击修改按钮,将数据显示在弹层窗口中,利用ajax实现
  11. yield方法释放锁吗_java多线程,让步yield
  12. 【Kernel】驱动开发学习之Platform平台总线模型
  13. 红米1联通版_标注:2013023_官方线刷包_救砖包_解账户锁
  14. Python自动化与Word
  15. 大话数字化转型-第三季:量变引起质变
  16. C# FTP操作工具
  17. “盗版软件的受害者”,我是这样解决的!
  18. 网络爬虫-猫眼电影top100
  19. wr741n wr841n openwrt ,AR9331/AR9341网口修正方法
  20. 研究c语言必须的软件,为什么必须学习C语言

热门文章

  1. Pandas获取数据列名称的列表(list):(column list)
  2. R语言KMeans聚类分析确定最优聚类簇数实战:NbClust包(确定最优聚类簇数)
  3. 随机森林图像分类实战:随机森林分类聚类(Kmeans)降维后的数据、随机森林分类聚类(Kmeans)降维后的合成(append)数据
  4. pandas使用to_dict方法把datafraem保存为字典形式
  5. 新一代测序技术Sparc
  6. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句
  7. 9.可变参数创建不可变集合
  8. 【numpy】几种fft函数的使用
  9. 解决一个坑爹的mininet的pingall失败的问题(自己编译安装openvswitch后)
  10. java 数字转26个字母和26个字母转数字