如何在Springboot中配置Druid连接池连接MySQL?

目录

[1. 添加依赖](#1. 添加依赖)

[2. 配置文件](#2. 配置文件)

[3. 配置类](#3. 配置类)

[4. 启动Druid监控](#4. 启动Druid监控)

[5. 访问Druid监控页面](#5. 访问Druid监控页面)


在Springboot 中配置连接池来连接数据库是非常普遍的应用。本文主要介绍最常用的MySQL的连接用法,其中主要是使用产品开发中使用的Druid(阿里巴巴开源的)来进行示例演示如何从0到1完成数据库连接池的配置和使用。

在Spring Boot中配置Druid连接池,可以通过以下步骤实现。下面是一个完整的示例,包括pom.xml依赖、application.yml配置和Java代码。

1. 添加依赖

首先,在你的pom.xml文件中添加Druid的依赖:

XML 复制代码
<dependencies>
    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- Druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.2.8</version>
    </dependency>
    <!-- MySQL Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

2. 配置文件

application.ymlapplication.properties文件中添加Druid相关的配置。

application.yml

XML 复制代码
spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/yourdatabase
      username: yourusername
      password: yourpassword
      initial-size: 5
      min-idle: 5
      max-active: 20
      max-wait: 60000
      time-between-eviction-runs-millis: 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
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      filters: stat,wall,log4j
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

# Druid监控页面配置
druid:
  stat-view-servlet:
    enabled: true
    url-pattern: /druid/*
    login-username: admin
    login-password: admin
    reset-enable: false
  web-stat-filter:
    enabled: true
    url-pattern: /*
    exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'

3. 配置类

创建一个配置类来配置Druid数据源。

java 复制代码
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;

@Configuration
public class DruidConfig {

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

4. 启动Druid监控

在你的Spring Boot应用程序中启用Druid监控。

在主类上添加注解

java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan // 启用Druid的监控
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}

5. 访问Druid监控页面

启动Spring Boot应用程序后,可以通过*http://localhost:8080/druid* 访问Druid监控页面。默认的用户名和密码在application.yml中配置为admin

通过以上步骤,你已经成功在Spring Boot项目中配置了Druid连接池,并启用了监控功能。Druid不仅提供了强大的连接池功能,还能帮助你监控和优化数据库连接的使用情况。

相关推荐
winks35 分钟前
Spring Task的使用
java·后端·spring
Null箘7 分钟前
从零创建一个 Django 项目
后端·python·django
sg_knight9 分钟前
VSCode如何修改默认扩展路径和用户文件夹目录到D盘
前端·ide·vscode·编辑器·web
奥顺互联V12 分钟前
一次性部署:使用Docker部署PHP应用
大数据·mysql·开源·php
秋意钟16 分钟前
Spring新版本
java·后端·spring
小黄人软件18 分钟前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql
无为之士30 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
小蜗牛慢慢爬行36 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
Allen Bright43 分钟前
Spring Boot 整合 RabbitMQ:手动 ACK 与 QoS 配置详解
spring boot·rabbitmq·java-rabbitmq
A小白59081 小时前
Docker部署实践:构建可扩展的AI图像/视频分析平台 (脱敏版)
后端