springboot中默認是使用的tomcat的連接池,如果我們想要第三方的連接池,我們這么配置呢?
首先在application.yml文件中注釋掉之前數據庫的配置,重新用druid的方式配置:
#spring: #datasource: # driver-class-name: com.mysql.jdbc.Driver # url: jdbc:mysql://127.0.0.1:3306/house
#username: root #password: root mybatis.config-location = classpath:/mybatis/mybatis-config.xml spring.druid.url = jdbc:mysql://127.0.0.1:3306/house
spring.druid.username = root spring.druid.password = root spring.druid.driverClassName = com.mysql.jdbc.Driver spring.druid.initialSize=5 spring.druid.minIdle=5 spring.druid.maxActive=20 spring.druid.maxWait=10000 spring.druid.timeBetweenEvictionRunsMillis=60000 spring.druid.minEvictableIdleTimeMillis=300000 spring.druid.validationQuery=SELECT 1 FROM DUAL spring.druid.testWhileIdle=true
在pom文件中配置依賴庫:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version> <!--特別注意這個地方版本也不能亂 -->
</dependency>
新建DruidConfig配置文件:
@Configuration public class DruidConfig { @ConfigurationProperties(prefix="spring.druid") //將配置文件中spring.druid.*配置到DruidDataSource中
@Bean(initMethod="init",destroyMethod="close") public DruidDataSource dataSource(Filter statFilter) throws SQLException{ DruidDataSource dataSource = new DruidDataSource(); dataSource.setProxyFilters(Lists.newArrayList(statFilter())); return dataSource; } //配置慢連接過濾
@Bean public Filter statFilter(){ StatFilter filter = new StatFilter(); filter.setSlowSqlMillis(5000); filter.setLogSlowSql(true); filter.setMergeSql(true); return filter; } //添加監控,可以幫助我們分析慢sql和每個sql的執行時間
@Bean public ServletRegistrationBean servletRegistrationBean(){ return new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); } }
然后啟動項目,在瀏覽器中輸入地址http://127.0.0.1:8080/user對數據庫中的user表進行查詢后,再訪問http://127.0.0.1:8080/druid將會顯示頁面如下,可以對數據源、sql監控等進行查詢:

