spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/springbootbulid?useUnicode=true&characterEncoding=utf-8&useSSL=true
driver-class-name: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 6 # 初始化连接数
minIdle: 5
maxActive: 20 # 最大连接数
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
stat-view-servlet: # 统计视图servlet
login-password: 123456
login-username: admin
enabled: true
url-pattern: /druid/*
web-stat-filter: # 配置过滤器
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
配置好数据源之后还要在我们配置类中配置我们的属性
然后测试
package com.zhao;
import com.alibaba.druid.pool.DruidDataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
@SpringBootTest
class Springboot05DataApplicationTests {
@Autowired
DataSource dataSource;
@Test
void contextLoads() throws SQLException {
// 查看一下默认的数据源 class com.zaxxer.hikari.HikariDataSource dbcp,c3p0
System.out.println(dataSource.getClass());
// 连接数据库
Connection connection = dataSource.getConnection();
System.out.println(connection);
DruidDataSource druidDataSource = (DruidDataSource) dataSource;
System.out.println("druidDataSource 数据源最大连接数:" + druidDataSource.getMaxActive());
System.out.println("druidDataSource 数据源初始化连接数:" + druidDataSource.getInitialSize());
// 关闭数据库
connection.close();
}
}
数据源已经从默认的hikari变成了druid
下来就是后台监控:http://localhost:8080/druid/login.html
启动之后进入这个地址即可开启后台监控,这里我在yaml中已经设置好用户名字和密码
进入之后可以测试自己的sql
最重要的一点就是Druid可以防止sql注入 。