日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/3/19 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章小編給大家分享一下springboot的yml配置文件通過db2的方式整合mysql代碼示例,文章代碼介紹的很詳細,小編覺得挺不錯的,現在分享給大家供大家參考,有需要的小伙伴們可以來看看。

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)

{

MaptargetDataSources = 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(MaptargetDataSources, String sourceName, String beanName)

{

try

{

DataSource dataSource = SpringUtils.getBean(beanName);

targetDataSources.put(sourceName, dataSource);

}

catch (Exception e)

{

}

}

}

總結

以上是生活随笔為你收集整理的db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。