Springboot整合Druid数据源

Posted huxiaoguang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot整合Druid数据源相关的知识,希望对你有一定的参考价值。

Druid是阿里巴巴的一个开源的JDBC组件,该组件由数据库连接池、插件框架和SQL解析器组成,主要功能如下:

1.DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 

2.DruidDataSource 高效可管理的数据库连接池。

3.SQLParser解析器兼容所有的JDBC数据库,如:mysql,Oracle、SQL Server数据库。

同时它结合了C3P0、DBCP、PROXOOL等DB池的优点,加入了日志监控,在稳定性、可扩展性和性能方便具有明显的优势,可以通过监控功能分析数据库连接和SQL的执行情况。

1.引入Druid依赖包

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>1.1.10</version>
</dependency>

 

2.设置Druid连接池参数

spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/blog
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
###################以下为druid增加的配置###########################
type: com.alibaba.druid.pool.DruidDataSource
# 下面为连接池的补充设置,应用到上面所有数据源中
# 初始化大小,最小,最大
initialSize: 5
minIdle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,‘wall‘用于防火墙
filters: stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多个DruidDataSource的监控数据
useGlobalDataSourceStat: true
###############以上为配置druid添加的配置########################################

 3.开启Druid监控功能

/**
 * 开启Druid监控功能,需要在application.yml文件中以spring.datasource开头的信息配置相关信息
 * 相关信息。
 *
 * @author huxiaoguang
 */
@Configuration
public class DruidConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }
}

 

4.重启启动Springboot 项目

在Springboot 的启动日志中是否有 Located MBean ‘druidDataSource‘: registering with JMX server as MBean [com.alibaba.druid.pool:name=druidDataSource,type=DruidDataSource],如果有就说明Springboot整合Druid成功。

 

以上是关于Springboot整合Druid数据源的主要内容,如果未能解决你的问题,请参考以下文章

springboot---整合druid连接池---连接oracle数据库---整合mybatis---整合thymeleaf---日志配置

SpringBoot整合Druid数据源

SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源配置 MyBatis事务控制druid 监控)

SpringBoot整合Druid数据源

SpringBoot整合Druid数据源

SpringBoot整合Druid数据源