一步一步学SpringBoot(三)---SpringBoot与德鲁伊(Druid)的故事

添加依赖

        
            com.alibaba
            druid-spring-boot-starter
            1.1.0
        

配置连接池

# JDBC配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url = jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver

# 连接池的配置信息
# 初始化连接数量
spring.datasource.initialSize=5
# 最小连接数量
spring.datasource.minIdle=5
# 最大同时连接数量
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间,单位毫秒ms
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒ms
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
# SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL SELECT并且必须返回至少一行记录
# from dual:dual是一个虚拟的表,供测试使用
spring.datasource.validationQuery=SELECT 1 FROM DUAL
# 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.
# 注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
spring.datasource.testWhileIdle=true
# 指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个.
# 注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
spring.datasource.testOnBorrow=false
# 指明是否在归还到池中前进行检验
#注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;
# 合并多个DruidDataSource的监控数据 true为合并 false为不合并
# useGlobalDataSourceStat: true

在spring.datasource.filters添加log4j会运行报这个错:
Factory method 'dataSource' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/log4j/Logger
听说Druid换成这个

spring.datasource.druid.filter.commons-log.connection-logger-name

但我还是报错,所以这里我就干脆去掉,找到解决办法再来更新

为方便以后拓展,这里提供一个数据源配置接口

创建DatabaseConfig接口

package com.test.springbm.config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import javax.sql.DataSource;

/**
 * 数据源配置接口:
 * 为方便以后拓展,这里提供一个数据源配置接口,druid配置也只是这个接口的一个实现类,方便以后切换不同的数据源
 */
public interface DatabaseConfig {
    /**
     * 定义数据源
     * @return
     * @throws Exception
     */
    DataSource dataSource() throws Exception;

    /**
     * 定义session工厂
     * @param dataSource
     * @return
     * @throws Exception
     */
    SqlSessionFactory sqlSessionFactory(Data

你可能感兴趣的:(SpringBoot,Druid,SpringBoot,Druid,配置)