最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot的yml配置文件通過(guò)db2的方式整合mysql的教程

 更新時(shí)間:2020年09月03日 11:56:09   作者:哇哈哈_  
這篇文章主要介紹了springboot的yml配置文件通過(guò)db2的方式整合mysql的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

springboot整合MySQL很簡(jiǎn)單,多數(shù)據(jù)源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一個(gè)yml文件
先配置MySQL,代碼如下

spring:
 datasource:
  type: com.alibaba.druid.pool.DruidDataSource
  druid:
   # 主庫(kù)數(shù)據(jù)源
   master:
    url: jdbc:mysql://localhost:3308/<數(shù)據(jù)庫(kù)名>?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
   # 從庫(kù)數(shù)據(jù)源
   slave:
    # 從數(shù)據(jù)源開(kāi)關(guān)/默認(rèn)關(guān)閉
    enabled: true
    url: jdbc:mysql://localhost:3308/<數(shù)據(jù)庫(kù)名>?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
   # 初始連接數(shù)
   initialSize: 5
   # 最小連接池?cái)?shù)量
   minIdle: 10
   # 最大連接池?cái)?shù)量
   maxActive: 20
   # 配置獲取連接等待超時(shí)的時(shí)間
   maxWait: 60000
   # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒
   timeBetweenEvictionRunsMillis: 60000
   # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
   minEvictableIdleTimeMillis: 300000
   # 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒
   maxEvictableIdleTimeMillis: 900000
   # 配置檢測(cè)連接是否有效
   validationQuery: SELECT 1 FROM DUAL
   testWhileIdle: true
   testOnBorrow: false
   testOnReturn: false
   webStatFilter: 
    enabled: true
   statViewServlet:
    enabled: true
    # 設(shè)置白名單,不填則允許所有訪問(wèn)
    allow:
    url-pattern: /druid/*
    # 控制臺(tái)管理用戶名和密碼
    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

接下來(lái)配置DB2

second:
 spring:
  datasource:
   type: com.alibaba.druid.pool.DruidDataSource
   driver-class-name: com.ibm.db2.jcc.DB2Driver
   url: jdbc:db2://<DB2的IP>:<端口>/<數(shù)據(jù)庫(kù)名>:currentSchema=<所要連接的schema名>;
   username: <用戶名>
   password: <密碼>
   # 初始連接數(shù)
   initialSize: 5
   # 最小連接池?cái)?shù)量
   minIdle: 10
   # 最大連接池?cái)?shù)量
   maxActive: 20
   # 配置獲取連接等待超時(shí)的時(shí)間
   maxWait: 60000
   # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒
   timeBetweenEvictionRunsMillis: 60000
   # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
   minEvictableIdleTimeMillis: 300000
   # 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒
   maxEvictableIdleTimeMillis: 900000
   # 配置檢測(cè)連接是否有效  注意這里DUAL是檢測(cè)的表名,可以是當(dāng)前schema下的任意一張表
   validationQuery: SELECT 1 FROM **<檢測(cè)表名>**
   testWhileIdle: true
   testOnBorrow: false
   testOnReturn: false
   webStatFilter:
    enabled: true
   statViewServlet:
    enabled: true
    # 設(shè)置白名單,不填則允許所有訪問(wèn)
    allow:
    url-pattern: /druid/*
    # 控制臺(tái)管理用戶名和密碼
    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這樣就能通過(guò)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 配置多數(shù)據(jù)源
 * 
 *
 */
@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<Object, Object> 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);
 }

 /**
  * 設(shè)置數(shù)據(jù)源
  * 
  * @param targetDataSources 備選數(shù)據(jù)源集合
  * @param sourceName 數(shù)據(jù)源名稱
  * @param beanName bean名稱
  */
 public void setDataSource(Map<Object, Object> targetDataSources, String sourceName, String beanName)
 {
  try
  {
   DataSource dataSource = SpringUtils.getBean(beanName);
   targetDataSources.put(sourceName, dataSource);
  }
  catch (Exception e)
  {
  }
 }
}

這就是我整合MySQL和DB2時(shí)遇到的問(wèn)題,記錄一下

總結(jié)

到此這篇關(guān)于springboot的yml配置文件通過(guò)db2的方式整合mysql的教程的文章就介紹到這了,更多相關(guān)springboot yml配置文件整合mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Spring初始化加載InitializingBean()方法

    使用Spring初始化加載InitializingBean()方法

    這篇文章主要介紹了使用Spring初始化加載InitializingBean()方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot和Vue接口如何調(diào)用傳參

    SpringBoot和Vue接口如何調(diào)用傳參

    本文總結(jié)了SpringBoot和Vue.js中接口調(diào)用的常見(jiàn)傳參方式,包括GET、POST請(qǐng)求的參數(shù)傳遞方式,以及SpringBoot中常用的注解進(jìn)行參數(shù)接收的方法,文章詳細(xì)介紹了Axios請(qǐng)求的封裝方法,并提供了一些實(shí)際的代碼示例
    2025-02-02
  • Maven引用自定義jar包方式

    Maven引用自定義jar包方式

    這篇文章主要介紹了Maven引用自定義jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實(shí)現(xiàn)單鏈表SingleLinkedList增刪改查及反轉(zhuǎn) 逆序等

    Java實(shí)現(xiàn)單鏈表SingleLinkedList增刪改查及反轉(zhuǎn) 逆序等

    單鏈表是鏈表的其中一種基本結(jié)構(gòu)。一個(gè)最簡(jiǎn)單的結(jié)點(diǎn)結(jié)構(gòu)如圖所示,它是構(gòu)成單鏈表的基本結(jié)點(diǎn)結(jié)構(gòu)。在結(jié)點(diǎn)中數(shù)據(jù)域用來(lái)存儲(chǔ)數(shù)據(jù)元素,指針域用于指向下一個(gè)具有相同結(jié)構(gòu)的結(jié)點(diǎn)。 因?yàn)橹挥幸粋€(gè)指針結(jié)點(diǎn),稱為單鏈表
    2021-10-10
  • 使用quartz時(shí),傳入?yún)?shù)到j(luò)ob中的使用記錄

    使用quartz時(shí),傳入?yún)?shù)到j(luò)ob中的使用記錄

    這篇文章主要介紹了使用quartz時(shí),傳入?yún)?shù)到j(luò)ob中的使用記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 讓Java后臺(tái)MySQL數(shù)據(jù)庫(kù)能夠支持emoji表情的方法

    讓Java后臺(tái)MySQL數(shù)據(jù)庫(kù)能夠支持emoji表情的方法

    最近開(kāi)發(fā)的iOS項(xiàng)目因?yàn)樾枰脩粑谋镜拇鎯?chǔ),自然就遇到了emoji等表情符號(hào)如何被mysql DB支持的問(wèn)題。下面這篇文章主要介紹了關(guān)于讓Java后臺(tái)MySQL數(shù)據(jù)庫(kù)能夠支持emoji表情的方法,需要的朋友可以參考下。
    2017-03-03
  • MyBatis-Plus自動(dòng)填充字段的詳細(xì)教程

    MyBatis-Plus自動(dòng)填充字段的詳細(xì)教程

    今天編寫(xiě)一個(gè)詳細(xì)的教程來(lái)介紹如何在?Spring?Boot?項(xiàng)目中使用?MyBatis-Plus?實(shí)現(xiàn)自動(dòng)填充時(shí)間字段(如創(chuàng)建時(shí)間?createTime?和更新時(shí)間?updateTime),可以分為以下幾個(gè)部分,這個(gè)教程將涵蓋從項(xiàng)目配置到自動(dòng)填充的完整過(guò)程,需要的朋友可以參考下
    2024-08-08
  • 通俗講解JVM的類加載機(jī)制

    通俗講解JVM的類加載機(jī)制

    這篇文章主要介紹了JVM的類加載機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • Java try-with-resource語(yǔ)法使用解析

    Java try-with-resource語(yǔ)法使用解析

    這篇文章主要介紹了Java try-with-resource語(yǔ)法使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • MyBatis攔截器實(shí)現(xiàn)分頁(yè)功能實(shí)例

    MyBatis攔截器實(shí)現(xiàn)分頁(yè)功能實(shí)例

    本篇文章主要介紹了MyBatis攔截器實(shí)現(xiàn)分頁(yè)功能實(shí)例,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2017-04-04

最新評(píng)論

通榆县| 云霄县| 天长市| 延寿县| 仲巴县| 青神县| 曲靖市| 洪江市| 富民县| 和田县| 乌拉特前旗| 岳西县| 会理县| 呼伦贝尔市| 宁南县| 德保县| 韶山市| 镇雄县| 天长市| 壶关县| 同心县| 封开县| 明水县| 通渭县| 鹤峰县| 新蔡县| 宝山区| 安多县| 锦州市| 南华县| 新民市| 遵义县| 长治县| 韶山市| 石河子市| 绥宁县| 阿拉尔市| 洛宁县| 旅游| 安龙县| 蒙城县|