快速导航
<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项目代码下载
目录
- 准备工作
- 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_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
总结
- 注意druid的starter版本,springboot2.x中使用的starter讲在3.0中无法使用。
- 生产环境中不要使用druid监控。
spring.datasource.url
需要进行配置而不是配置spring.datasource.druid.url
。