配置Druid數據源

  •  spring配置Druid數據源

jdbc.propertiesmysql

jdbc.url=jdbc:mysql://192.168.240.4:8066/moonmiddle?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
jdbc.username=middleware
jdbc.password=Middle!Ware

validationQuery=SELECT 1
jdbc.initialSize=20 
jdbc.maxActive=1000  
jdbc.maxIdle=1000  
jdbc.minIdle=100  
jdbc.maxWait=60000

spring-mybatis.xmlspring

<!-- 配置數據源,使用的是alibaba的Druid(德魯伊)數據源 -->
    <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <!-- 初始化鏈接大小 -->
        <property name="initialSize" value="0" />
        <!-- 鏈接池最大使用鏈接數量 -->
        <property name="maxActive" value="2000" />
        <!-- 鏈接池最大空閒 -->
        <property name="maxIdle" value="20" />
        <!-- 鏈接池最小空閒 -->
        <property name="minIdle" value="0" />
        <!-- 獲取鏈接最大等待時間 -->
        <property name="maxWait" value="60000" />
        <!-- 
        <property name="poolPreparedStatements" value="true" /> 
        <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> 
        -->
        <property name="validationQuery" value="${validationQuery}" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
        <property name="testWhileIdle" value="true" />
        <!-- 配置間隔多久才進行一次檢測,檢測須要關閉的空閒鏈接,單位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <!-- 配置一個鏈接在池中最小生存的時間,單位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="25200000" />
        <!-- 打開removeAbandoned功能 -->
        <property name="removeAbandoned" value="true" />
        <!-- 1800秒,也就是30分鐘 -->
        <property name="removeAbandonedTimeout" value="1800" />
        <!-- 關閉abanded鏈接時輸出錯誤日誌 -->
        <property name="logAbandoned" value="true" />
        <!-- 監控數據庫 -->
        <!-- <property name="filters" value="stat" /> -->
        <property name="filters" value="mergeStat" />
    </bean>
  •   springBoot配置Druid數據源
# 數據源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.jdbc.Driver
        druid:
            # 主庫數據源
            master:
                url: jdbc:mysql://localhost:3306/finenter?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
                username: root
                password: root
            # 從庫數據源
            slave:
                # 從數據源開關/默認關閉
                enabled: false
                url: 
                username: 
                password: 
            # 初始鏈接數
            initial-size: 10
            # 最大鏈接池數量
            max-active: 100
            # 最小鏈接池數量
            min-idle: 10
            # 配置獲取鏈接等待超時的時間
            max-wait: 60000
            # 打開PSCache,而且指定每一個鏈接上PSCache的大小
            pool-prepared-statements: true
            max-pool-prepared-statement-per-connection-size: 20
            # 配置間隔多久才進行一次檢測,檢測須要關閉的空閒鏈接,單位是毫秒
            timeBetweenEvictionRunsMillis: 60000
            # 配置一個鏈接在池中最小生存的時間,單位是毫秒
            min-evictable-idle-time-millis: 300000
            validation-query: SELECT 1 FROM DUAL
            test-while-idle: true
            test-on-borrow: false
            test-on-return: false
            stat-view-servlet:
                enabled: true
                url-pattern: /monitor/druid/*
            filter:
                stat:
                    log-slow-sql: true
                    slow-sql-millis: 1000
                    merge-sql: false
                wall:
                    config:
                        multi-statement-allow: true
相關文章
相關標籤/搜索