当前位置: 首页 > news >正文

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分钟集成好前端页面,使用vue开发前端

目录

  • 准备工作
    • 1. 安装mysql
    • 2. 使用idea database插件创建库和表
    • 3. maven 安装druid依赖
  • 配置druid
  • 使用监控查看统计数据
  • 总结

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_incrementprimary 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 {@Testpublic 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: demodevtools:add-properties: truedatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaidruid:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456# Druid 数据源的其他配置initial-size: 5max-active: 20min-idle: 5max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20validation-query: SELECT 1test-on-borrow: truetest-on-return: falsetest-while-idle: truetime-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000filters: stat,wall,slf4j # 启用的过滤器stat-view-servlet:enabled: trueurl-pattern: /druid/*login-username: adminlogin-password: admin123reset-enable: falseweb-stat-filter:enabled: trueurl-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

相关文章:

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

快速导航 快速导航 <1> 5分钟快速创建一个springboot web项目 <2> 5分钟集成好最新版本的开源swagger ui&#xff0c;并使用ui操作调用接口 <3> 5分钟集成好druid并使用druid自带监控工具监控sql请求 <4> 5分钟集成好mybatisplus并使用mybatisplus g…...

【C#深度学习之路】如何使用C#实现Yolo8/11 Segment 全尺寸模型的训练和推理

【C#深度学习之路】如何使用C#实现Yolo8/11 Segment 全尺寸模型的训练和推理 项目背景项目实现推理过程训练过程 项目展望写在最后项目下载链接 本文为原创文章&#xff0c;若需要转载&#xff0c;请注明出处。 原文地址&#xff1a;https://blog.csdn.net/qq_30270773/article…...

Oracle 分区索引简介

目录 一. 什么是分区索引二. 分区索引的种类2.1 局部分区索引&#xff08;Local Partitioned Index&#xff09;2.2 全局分区索引&#xff08;Global Partitioned Index&#xff09; 三. 分区索引的创建四. 分区索引查看4.1 USER_IND_COLUMNS 表4.2 USER_INDEXES 表 五. 分区索…...

【科技赋能未来】NDT2025第三届新能源数字科技大会全面启动!

随着我国碳达峰目标、碳中和目标的提出&#xff0c;以及经济社会的发展进步&#xff0c;以风电、光伏发电为代表的新能源行业迎来巨大发展机遇&#xff0c;成为未来绿色经济发展的主要趋势和方向。 此外&#xff0c;数字化技术的不断发展和创新&#xff0c;其在新能源领域的应…...

Broker收到消息之后如何存储

1.前言 此文章是在儒猿课程中的学习笔记&#xff0c;感兴趣的想看原来的课程可以去咨询儒猿课堂《从0开始带你成为RocketMQ高手》&#xff0c;我本人觉得这个作者还是不错&#xff0c;都是从场景来进行分析&#xff0c;感觉还是挺适合我这种小白的。这块主要都是我自己的学习笔…...

Mysql--实战篇--SQL优化(查询优化器,常用的SQL优化方法,执行计划EXPLAIN,Mysql性能调优,慢日志开启和分析等)

一、查询优化 1、查询优化器 (Query Optimizer) MySQL查询优化器&#xff08;Query Optimizer&#xff09;是MySQL数据库管理系统中的一个关键组件&#xff0c;负责分析和选择最有效的执行计划来执行SQL查询。查询优化器的目标是尽可能减少查询的执行时间和资源消耗&#xff…...

BERT与CNN结合实现糖尿病相关医学问题多分类模型

完整源码项目包获取→点击文章末尾名片&#xff01; 使用HuggingFace开发的Transformers库&#xff0c;使用BERT模型实现中文文本分类&#xff08;二分类或多分类&#xff09; 首先直接利用transformer.models.bert.BertForSequenceClassification()实现文本分类 然后手动实现B…...

rabbitmqp安装延迟队列

在RabbitMQ中&#xff0c;延迟队列是一种特殊的队列类型。当消息被发送到此类队列后&#xff0c;不会立即投递给消费者&#xff0c;而是会等待预设的一段时间&#xff0c;待延迟期满后才进行投递。这种队列在多种场景下都极具价值&#xff0c;比如可用于处理需要在特定时间触发…...

深入探讨DICOM医学影像中的MPPS服务及其具体实现

深入探讨DICOM医学影像中的MPPS服务及其具体实现 1. 引言 在医疗影像的管理和传输过程中&#xff0c;DICOM&#xff08;数字影像和通信医学&#xff09;标准发挥着至关重要的作用。除了DICOM影像的存储和传输&#xff08;如影像存储SCP和影像传输SCP&#xff09;&#xff0c;…...

集合帖:区间问题

一、AcWing 803&#xff1a;区间合并 &#xff08;1&#xff09;题目来源&#xff1a;https://www.acwing.com/problem/content/805/ &#xff08;2&#xff09;算法代码&#xff1a;https://blog.csdn.net/hnjzsyjyj/article/details/145067059 #include <bits/stdc.h>…...

C#,入门教程(27)——应用程序(Application)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(26)——数据的基本概念与使用方法https://blog.csdn.net/beijinghorn/article/details/124952589 一、什么是应用程序 Application&#xff1f; 应用程序是编程的结果。一般把代码经过编译&#xff08;等&#xff09;过程&#…...

迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!

经过前期内测调试&#xff0c;ROS固定翼开源仿真平台今日正式上线&#xff01;现平台除适配PX4ROS环境外&#xff0c;也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…...

CSS 样式 box-sizing: border-box; 详细解读

box-sizing是 CSS 中的一个属性&#xff0c;用于控制元素的盒模型计算方式。border-box值表示元素的宽度和高度将包括内边距&#xff08;padding&#xff09;和边框&#xff08;border&#xff09;&#xff0c;而不仅仅是内容的宽度和高度。这意味着当你为元素设置宽度和高度时…...

FLASK创建下载

html用a标签 <!-- Button to download the image --> <a href"{{ url_for(download_file, filenameimage.png) }}"><button>Download Image</button> </a> 后端&#xff1a;url_for双大括号即是用来插入变量到模板中的语法。也就是绑…...

漫话架构师|什么是系统架构设计师(开篇)

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 关注犬余&#xff0c;共同进步 技术从此不孤单...

Web Socket

Web Socket ‌WebSocket‌是一种基于TCP的网络通信协议&#xff0c;允许客户端和服务器之间建立全双工&#xff08;双向&#xff09;通信通道。WebSocket通过HTTP协议进行握手&#xff0c;建立连接后&#xff0c;客户端和服务器可以在同一个连接上同时发送和接收数据&#xff0…...

JavaSE学习心得(反射篇)

反射 前言 获取class对象的三种方式 利用反射获取构造方法 利用反射获取成员变量 利用反射获取成员方法 练习 保存信息 跟配置文件结合动态创建 前言 接上期文章&#xff1a;JavaSE学习心得&#xff08;多线程与网络编程篇&#xff09; 教程链接&#xff1a;黑马…...

使用FRP进行内网穿透

一、基本概念 内网穿透&#xff1a;它是一种网络技术或方法&#xff0c;旨在允许外部网络&#xff08;如互联网&#xff09;访问位于内部网络&#xff08;内网&#xff09;中的设备或服务。由于内部网络通常处于NAT&#xff08;网络地址转换&#xff09;、防火墙或其他安全机制…...

长安“战疫”网络安全公益赛的一些随想

起因 今年刚进入大学&#xff0c;开始带校队&#xff0c;为了培养校队新成员&#xff0c;也就一直计划着和当地的一些高校合作交流&#xff0c;但是由于种种原因一直被搁置下来。正巧学校信息中心和四叶草有一个培训项目的合作&#xff0c;学校的网安协会也算是沾了光成为了培…...

flutter 安卓端打包

在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB&#xff08;Android App Bundle&#xff09;。以下是打包 Flutter Android 应用的步骤&#xff1a; 1. 安装 Flutter 环境 确保你已经安装了 Flutter …...

Llama-3.2V-11B-cot快速部署:Docker镜像开箱即用,5分钟启动视觉CoT服务

Llama-3.2V-11B-cot快速部署&#xff1a;Docker镜像开箱即用&#xff0c;5分钟启动视觉CoT服务 1. 项目概述 Llama-3.2V-11B-cot是一个支持系统性推理的视觉语言模型&#xff0c;基于LLaVA-CoT论文实现。这个模型能够理解图像内容并进行逐步推理&#xff0c;最终给出合理的结…...

Jmeter接口测试项目实战

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、什么是jmeter&#xff1f;JMeter是100%完全由Java语言编写的&#xff0c;免费的开源软件&#xff0c;是非常优秀的性能测试和接口测试工具&#xff0c;支持主流…...

大模型开发:裸辞还是在职?算清这笔账,转型之路少走弯路!

文章探讨了在大模型开发转型过程中&#xff0c;裸辞与在职学习的利弊及适用人群。裸辞可集中时间快速学习&#xff0c;但经济压力大&#xff1b;在职学习有稳定收入&#xff0c;但时间碎片化&#xff0c;学习周期长。文章建议根据个人经济状况、技能基础和风险承受能力选择路径…...

如何用Awesome-Obsidian打造个性化知识管理神器:终极美化指南

如何用Awesome-Obsidian打造个性化知识管理神器&#xff1a;终极美化指南 【免费下载链接】awesome-obsidian &#x1f576;️ Awesome stuff for Obsidian 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-obsidian 想要将Obsidian从简单的Markdown编辑器变身为功…...

惊艳展示:MedGemma医学影像分析系统,自然语言提问生成专业报告

惊艳展示&#xff1a;MedGemma医学影像分析系统&#xff0c;自然语言提问生成专业报告 1. 引言&#xff1a;当AI能“看懂”医学影像&#xff0c;并“说”出专业见解 想象一下&#xff0c;你手里有一张肺部X光片&#xff0c;但你不是放射科医生。你看着那些黑白影像和复杂的结…...

YOLOv12性能优化 | 注意力融合 | 实战解析CBAM模块的集成与调优

1. CBAM注意力机制的核心原理与实战价值 第一次接触CBAM模块时&#xff0c;我被它简洁高效的设计惊艳到了。这个由通道注意力和空间注意力组成的双剑客&#xff0c;能在不显著增加计算量的情况下&#xff0c;让模型学会"该看哪里"。想象一下教小朋友看图说话&#xf…...

如何在Linux系统中快速找到文件:FSearch终极文件搜索工具完整指南

如何在Linux系统中快速找到文件&#xff1a;FSearch终极文件搜索工具完整指南 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中寻找特定文件常常令人头疼…...

OpenSubdiv高级特性:特征自适应细分与硬件曲面细分

OpenSubdiv高级特性&#xff1a;特征自适应细分与硬件曲面细分 【免费下载链接】OpenSubdiv An Open-Source subdivision surface library. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSubdiv OpenSubdiv是一款强大的开源细分曲面库&#xff0c;为3D建模和动画提…...

MySQL 8.0.34和5.7.43双版本共存安装指南(Windows环境避坑大全)

MySQL 8.0与5.7双版本共存实战&#xff1a;Windows环境全流程避坑指南 1. 版本共存的核心挑战与解决方案 在开发环境中同时运行MySQL 8.0和5.7版本的需求日益普遍——可能是为了兼容旧系统&#xff0c;或是测试应用在不同版本下的表现。但Windows环境下实现双版本共存会遇到几个…...

利用MathType公式与GLM-OCR结合实现理科试卷自动批改

利用MathType公式与GLM-OCR结合实现理科试卷自动批改 1. 引言 批改理科试卷&#xff0c;尤其是数学、物理这类包含大量公式和符号的试卷&#xff0c;对老师来说一直是个耗时费力的活儿。一张试卷&#xff0c;既要看文字答案对不对&#xff0c;又要检查复杂的公式推导有没有写…...