自学内容网 自学内容网

30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <3>5分钟集成好druid并使用druid自带监控工具监控sql请求

快速导航

<1> 5分钟快速创建一个springboot web项目
<2> 5分钟集成好最新版本的开源swagger ui,并使用ui操作调用接口
<3> 5分钟集成好druid并使用druid自带监控工具监控sql请求
<4> 5分钟集成好mybatisplus并使用mybatisplus generator自动生成代码
<5> 5分钟集成好caffeine并使用注解操作缓存
<6> 5分钟集成好前端页面

demo项目代码下载

Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件, 被大量业务和技术产品使用或集成,经历过最严苛线上业务场景考验,是你值得信赖的技术产品。这篇文章将会介绍如何继承druid并且配置好druid监控。

在这里插入图片描述

准备工作

1. 安装mysql

mariaDB 官网下载地址

在这里插入图片描述
注意分配buffer size小一点,不然操作系统没有那么多内存会导致mysql启动不了。

2. 使用idea database插件创建库和表

在这里插入图片描述
创建连接,记得先测试下连接可不可用,如果缺少驱动,让idea自动下载合适版本驱动即可。

在这里插入图片描述
创建schema

在这里插入图片描述
或者执行下面sql

create table test_user
(
    id          bigint auto_increment
        primary key,
    name        varchar(100) null,
    remark      varchar(100) null,
    create_at   bigint       null comment '创建人',
    update_at   bigint       null comment '更新人',
    create_time bigint       null comment '创建时间',
    update_time bigint       null comment '更新时间'
)
    comment '测试用户';

JDBC 测试下服务是否可以正常链接
在这里插入图片描述

package com.example.demo.jdbc;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

@SpringBootTest
public class JdbcTest {

    @Test
    public void testJdbcSelect() {
        // 数据库连接信息
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "123456";

        // SQL查询语句
        String sql = "SELECT * FROM test_user";

        try (Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery(sql)) {

            // 处理结果集
            while (rs.next()) {
                // 假设表中有一个名为'id'的列
                int id = rs.getInt("id");
                System.out.println("ID: " + id);
            }
            System.out.println("Query executed successfully.");
        } catch (Exception e) {
            System.out.println("Error executing SQL query");
            e.printStackTrace();
        }
    }
}

准备工作完成

3. maven 安装druid依赖

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.20</version>
</dependency>
<!-- 如果引用过驱动这里就不需要引入了 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>

注意这里的artifactId 是 druid-spring-boot-3-starter , druid-spring-boot-starter 只能在springboot2.x下使用。

配置druid

在application.yml中添加下面配置:

spring:
  application:
    name: demo
  devtools:
    add-properties: true
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      username: root
      password: 123456
      # Druid 数据源的其他配置
      initial-size: 5
      max-active: 20
      min-idle: 5
      max-wait: 60000
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      validation-query: SELECT 1
      test-on-borrow: true
      test-on-return: false
      test-while-idle: true
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      filters: stat,wall,slf4j # 启用的过滤器
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: admin123
        reset-enable: false
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"

配置完成之后启动服务

在这里插入图片描述
出现inited 说明druid初始化成功!

使用监控查看统计数据

打开 http://localhost:8080/druid/
在这里插入图片描述
输入配置的账号和密码 admin/admin123

在这里插入图片描述

总结

  1. 注意druid的starter版本,springboot2.x中使用的starter讲在3.0中无法使用。
  2. 生产环境中不要使用druid监控。
  3. spring.datasource.url 需要进行配置而不是配置spring.datasource.druid.url

原文地址:https://blog.csdn.net/yh4494/article/details/145154038

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!