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

举报
bug菌 发表于 2023/08/25 23:39:50 2023/08/25
【摘要】 本文介绍了如何在Spring Boot项目中集成Druid数据源,以提高数据访问效率和稳定性。首先讲解了Druid的介绍以及其与其他数据源的对比,然后详细介绍了在Spring Boot项目中配置Druid数据源的步骤,包括引入Druid依赖、配置数据源信息、配置Druid监控等。最后还介绍了如何使用Druid的监控功能查看数据源的运行状态和性能指标,以便进行优化和调试。

1. 前言

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

2. 摘要

本文介绍了如何在Spring Boot项目中集成Druid数据源,以提高数据访问效率和稳定性。首先讲解了Druid的介绍以及其与其他数据源的对比,然后详细介绍了在Spring Boot项目中配置Druid数据源的步骤,包括引入Druid依赖、配置数据源信息、配置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.1.23</version>
</dependency>

示例截图如下:
image.png

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

示例截图如下:
image.png

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

关于我

我是bug菌,CSDN | 阿里云 | 华为云 | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金 | InfoQ | 51CTO等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。