Spring Boot项目系列(2)集成Druid-数据库连接池的初步使用

本文介绍如何在Spring Boot项目中配置Druid数据库连接池,并实现对其运行状态的监控。主要内容包括导入必要的jar包、配置Druid参数及设置监控单元。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Druid 学习第一章–数据库连接池的初步使用

1.jar包导入

springboot項目+mybatis+druid的普通web項目的pom.xml文件
 <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.0.RELEASE</spring-boot.version>
        <druid.version>1.1.20</druid.version>
        <druid-springboot.version>1.1.20</druid-springboot.version>
        <mysql-jdbc.version>5.1.49</mysql-jdbc.version>
        <mybatis-springboot.version>2.1.2</mybatis-springboot.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-springboot.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>${mysql-jdbc.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid-springboot.version}</version>
        </dependency>
    </dependencies>

2.druid-springboot的自动化配置

spring:
  application:
    # 应用名称
    name: druid-spring-boot
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      jdbc-url: jdbc:mysql://127.0.0.1:3306/comm?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
      username: root
      password: 123456
      driver-class-name: com.mysql.jdbc.Driver
      #初始化连接个数
      initial-size: 10
      #最大连接池数量
      max-active: 100
      #最小连接池的数量
      min-idle: 10
      #获取连接的最大等待时间
      max-wait: 60000
      #是否支持缓存,orcale(支持游标的数据库)支持提高性能,mysql建议关闭
      pool-prepared-statements: false
      #缓存每个连接的大小PSCache
      max-pool-prepared-statement-per-connection-size: 20
      #检测查询语句是否有效
      validation-query: SELECT 1 FROM DUAL
      # validation-query-timeout: 5000
      #申请连接时执行上述检测
      test-on-borrow: false
      #归还连接时执行上述连接
      test-on-return: false
      #检测查询,建议打开不影响性能,如果空闲时间大于time-between-eviction-runs-millis,执行检测
      test-while-idle: true
      #检测连接的空闲时间
      time-between-eviction-runs-millis: 60000
      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      #filters: #配置多个英文逗号分隔(统计,sql注入,log4j过滤)
      filters: stat,wall
      #配置监控单元
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: 123
       

3.项目启动监控单元的查看

​ 监控单元的配置,druid不仅仅是一个数据库连接池,他还具有充当监控模块的功能

      #监控单元的配置模块,开启druid的监控模块,
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: 123
1.启动项目后访问 http://127.0.0.1:8080/demo/druid/ ip和端口号和项目访问路径,更具自己配置的来,进入登录界面,输入上述配置的用户名密码

2.进入首页之后,点击进入数据源,数据源没有显示,不要着急,不是bug,是因为你还没有请求数据库,自己写个test接口,访问一下数据库就可以成功看到了。

在这里插入图片描述

3.监控功能的展示,成功访问一次数据后,我们就可以在本界面看到详细的数据源的配置信息

​ druid还具有详细的sql执行查询

在这里插入图片描述

druid还具有很多强大的功能,更多强大的功能,多看看druid的官方github

贴出我自己测试所用的项目目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eCO9ZACE-1602231832202)(C:\Users\swj\AppData\Roaming\Typora\typora-user-images\image-20200916113018145.png)]

Spring Boot项目集成Druid数据库连接池,你需要完成以下几个步骤: 1. 添加依赖:首先,在项目的pom.xml文件中添加Druid的依赖,例如: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.6</version> <!-- 更新到最新版本 --> </dependency> ``` 2. 配置属性:在application.properties或application.yml文件中配置Druid的相关参数,如数据源名称、URL、用户名、密码、初始化大小、最大连接数等。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=myuser spring.datasource.password=mypassword spring.datasource.driver-class-name=com.mysql.jdbc.Driver druid.stat-view-servlet.enabled=true druid.stat-view-servlet.login-username=sa druid.stat-view-servlet.login-password=sa ``` 3. 创建DataSource bean:在Spring的配置类(如Config类)中,利用@ConfigurationProperties自动注入并配置Druid DataSource。 ```java @Bean public DruidDataSource druidDataSource() { DruidDataSource dataSource = new DruidDataSource(); // 配置从application.properties获取的属性 return dataSource; } ``` 4. 如果需要监控,可以启用Druid的StatViewServlet和WebStatFilter。只需在web.xml或spring-mvc.xml中添加对应的过滤器配置。 5. 安全设置:如果你开启了StatViewServlet的访问控制,记得设置登录信息。 完成以上步骤后,你就可以在Spring Boot应用中使用Druid数据库连接池了。注意定期检查和维护Druid的性能统计信息,以优化数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值