1.首先引入druid的jar包,如:
<!--引入druid数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
2.设置application.properties文件
##数据库配置文件
spring.datasource.username=root
spring.datasource.password=098879
spring.datasource.url=jdbc:mysql://192.168.199.190:3306/jdbc
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initialSize= 5
spring.datasource.minIdle= 5
spring.datasource.maxActive= 20
spring.datasource.maxWait= 60000
spring.datasource.timeBetweenEvictionRunsMillis= 60000
spring.datasource.minEvictableIdleTimeMillis= 300000
spring.datasource.validationQuery= SELECT 1 FROM DUAL
spring.datasource.testWhileIdle= true
spring.datasource.testOnBorrow= false
spring.datasource.testOnReturn= false
spring.datasource.poolPreparedStatements= true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters= stat,wall,log4j
spring.datasource.maxPoolPreparedStatementPerConnectionSize= 20
spring.datasource.useGlobalDataSourceStat= true
spring.datasource.connectionProperties= druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# schema:
# - classpath:department.sql
3.可以使用test类测试数据源的情况:
@Test
public void contextLoads() throws SQLException {
System.out.println(dataSource.getClass());
Connection connection=dataSource.getConnection();
System.out.println(connection);
connection.close();
}
4.设置druid数据源的配置:
package com.atguigu.springboot.config;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* druid数据库连接池
*/
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix="spring.datasource")
@Bean
public DataSource druid(){
return new DruidDataSource();
}
//http://localhost:8082/druid/login.html 这是登录的地址,用户名和密码是自己配置的
//配置Druid的监控器
//1.配置一个管理后台的servlet
@Bean
public ServletRegistrationBean statViewServlet(){
//我们处理/druid下的所有请求
ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//配置参数
Map<String,String> initParams=new HashMap<>();
initParams.put("loginUsername","root");
initParams.put("loginPassword","098879");
//允许什么登录,这个就只有localhost访问,如果不写,那就是允许所有人访问。
initParams.put("allow","localhost");
//拒绝别人访问
initParams.put("vdeny","192.168.15.21");
servletRegistrationBean.setInitParameters(initParams);
return servletRegistrationBean;
}
//2.配置一个监控的filter
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(new WebStatFilter());
Map<String,String> initParams=new HashMap<>();
//哪些可以不拦截
initParams.put("exclusions","*.js,*.css,/druid/*");
/*initParams.put("","");
initParams.put("","");
initParams.put("","");*/
filterRegistrationBean.setInitParameters(initParams);
//拦截URL 这里是拦截所有的请求
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
return filterRegistrationBean;
}
}
5.输入自己对应的网址:
笔记记录来源尚硅谷视频