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 的执行情况。

相关推荐
Java陈序员几秒前
再见 Navicat!一款开源的 Web 数据库管理工具!
java·react.js·docker
oraen2 分钟前
一篇文章让你在根本上理解遗传算法,用牛刀杀鸡-使用遗传撕力扣
后端
程序员爱钓鱼2 分钟前
Go语言并发模型与模式:Worker Pool 模式
后端·go·排序算法
Victor3563 分钟前
MySQL(66)如何进行慢查询日志分析?
后端
程序小武4 分钟前
深入理解Python内置模块及第三方库的使用与管理
后端
陈随易6 分钟前
2025年100个产品计划之第12个(杰森排序) - 对 JSON 属性进行排序
前端·后端·程序员
Lx3527 分钟前
LIKE查询中索引有效利用的前缀匹配策略
后端·sql·oracle
三气归来8 分钟前
2. 内置模块之http模块
javascript·后端
FogLetter8 分钟前
🧙‍♂️ 魔法笔记:JavaScript 词法作用域与闭包的神秘世界
javascript·后端
小璐乱撞8 分钟前
从原理到落地:MCP在Spring AI中的工程实践
后端