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.輸入自己對應的網址:
筆記記錄來源尚硅谷視頻