Spring Boot(07):集成Druid数据源,轻松搞定高效稳定的数据访问!

1. 前言

Druid 是阿里巴巴开发的一个数据库连接池和监控组件,它在功能和性能上相对于其他数据库连接池有着更好的表现。在 Spring Boot 中也可以很方便地集成 Druid 数据源,本文将介绍如何在 Spring Boot 中整合 Druid 数据源并使用。

2. 摘要

本文主要介绍了如何在 Spring Boot 中使用 Druid 数据源,并使用 Druid 监控功能来监控数据库连接的使用情况。

3. 集成Druid数据源

3.1 引入依赖

在 pom.xml 文件中添加如下依赖,其中 spring-boot-starter-jdbc 是 Spring Boot 自带的 JDBC Starter,包含了 Hikari 数据源和 Tomcat 数据源的依赖,但是不包含 Druid 数据源的依赖。

复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>

3.2 配置数据源

在 application.properties 文件中添加以下配置:

复制代码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

3.3 配置 Druid 数据源

在 application.properties 文件中添加以下配置:

复制代码
# 配置 Druid 数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.validation-query=SELECT 1

在以上配置中,我们指定了数据源的类型为 DruidDataSource,并设置了连接池的一些参数,如初始化连接数、最小空闲连接数、最大活跃连接数等。其中 test-on-borrow 和 validation-query 属性是用于开启连接测试和测试 SQL,以确保连接和 SQL 的正确性。

3.4 配置 Druid 监控

Druid 提供了监控功能,可以用来查看数据源的连接使用情况、SQL 执行情况等。我们可以通过配置来开启监控功能。

先在 pom.xml 文件中添加以下依赖:

复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>

然后在 application.properties 文件中添加以下配置:

复制代码
# 配置 Druid 监控
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*

以上配置中,我们设置了监控的用户名和密码,以及监控的 URL 路径。启动应用后,访问 http://localhost:8080/druid/ 即可进入 Druid 的监控页面。

3.5 代码方法介绍:

在配置文件中,我们通过配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 来将数据源类型设置为 Druid 数据源。之后,我们可以通过配置 spring.datasource.druid.* 来设置连接池的参数,如连接池大小、连接测试等。最后,我们可以通过配置 spring.datasource.druid.stat-view-servlet.* 来开启 Druid 的监控功能,并设置监控的用户名和密码,以及 URL 路径。

3.6 测试用例:

我们可以通过编写 SQL 语句来测试数据源的连接和 SQL 的正确性,如下所示:

复制代码
@RestController
public class TestController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @RequestMapping("/test")
    public String test() {
        String sql = "SELECT COUNT(*) FROM user";
        int count = jdbcTemplate.queryForObject(sql, Integer.class);
        return "User count: " + count;
    }
}

在以上代码中,我们通过自动注入 JdbcTemplate 来执行 SQL 语句,并返回查询结果。启动应用,访问 http://localhost:8080/test 可以查看查询结果。

4 小结

本文介绍了如何在 Spring Boot 中使用 Druid 数据源,并使用 Druid 监控功能来监控数据库连接的使用情况。通过设置连接池的参数和开启连接测试、监控功能等,我们可以更好地管理数据库连接和 SQL 的执行情况。

相关推荐
云惠科技(SEO)10 分钟前
泛目录站群技术架构演进观察:2025年PHP+Java混合方案实战笔记
java·人工智能·搜索引擎
小奏技术42 分钟前
Kafka要保证消息的发送和消费顺序性似乎没那么简单
后端·kafka
小五Z42 分钟前
Redis--事务
redis·分布式·后端·缓存
Asthenia041243 分钟前
线上服务频繁FullGC分析
后端
牛马baby1 小时前
Springboot 自动装配原理是什么?SPI 原理又是什么?
java·spring boot·后端
Asthenia04121 小时前
AtomicStampedReference实现原理分析
后端
小小深1 小时前
了解JVM
java·jvm
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
Starwow1 小时前
微服务之gRPC
后端·微服务·golang
Asthenia04121 小时前
AtomicMarkableReference如何解决ABA问题:深入分析
后端