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

相关推荐
聪明的墨菲特i3 分钟前
Django前后端分离基本流程
后端·python·django·web3
wainyz4 分钟前
Java NIO操作
java·开发语言·nio
工业3D_大熊9 分钟前
【虚拟仿真】CEETRON SDK在船舶流体与结构仿真中的应用解读
java·python·科技·信息可视化·c#·制造·虚拟现实
lzb_kkk18 分钟前
【JavaEE】JUC的常见类
java·开发语言·java-ee
爬山算法42 分钟前
Maven(28)如何使用Maven进行依赖解析?
java·maven
hlsd#1 小时前
go mod 依赖管理
开发语言·后端·golang
陈大爷(有低保)1 小时前
三层架构和MVC以及它们的融合
后端·mvc
亦世凡华、1 小时前
【启程Golang之旅】从零开始构建可扩展的微服务架构
开发语言·经验分享·后端·golang
河西石头1 小时前
一步一步从asp.net core mvc中访问asp.net core WebApi
后端·asp.net·mvc·.net core访问api·httpclient的使用
2401_857439691 小时前
SpringBoot框架在资产管理中的应用
java·spring boot·后端