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

相关推荐
牛奔6 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
红烧大青虫7 小时前
HarmonyOS应用开发实战:小事记 - 数据迁移策略:RDB 表结构变更的版本号管理与 onUpgrade 回调
后端·华为·harmonyos·鸿蒙系统
geovindu7 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
阳光是sunny8 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
前端工作日常8 小时前
我学习到的Java中domain和dto区别
java·后端
kite01218 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
阳光是sunny9 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
码农学院9 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽10 小时前
【工具】pom文件的<packaging>
java·maven
hold?fish:palm10 小时前
kv存储主从复制的设计与实现
c++·redis·后端