1. 程式人生 > 其它 >MySQL++:SpringBoot 配置 MySql 資料庫和Druid連線池

MySQL++:SpringBoot 配置 MySql 資料庫和Druid連線池

1、pom檔案增加相關依賴

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
   <version>5.0.4</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
   <version>1.1.0</version>
</dependency> 

2、mysql大家應該都很瞭解了,這裡主要介紹一下druid連線池。之前的專案大多數都使用c3p0或者其他的連線池,這裡使用druid連線池,好處就是可以監控資料庫訪問效能,druid內建提供了一個功能強大的StatFilter外掛,能夠詳細統計SQL的執行效能,這對於線上分析資料庫訪問效能有幫助。這裡看一下配置檔案下配置,這裡使用的配置檔案是application.yml

spring:          #表示該配置直接為Spring容器負責處理
  datasource:
      type: com.alibaba.druid.pool.DruidDataSource   #配置當前要使用的資料來源的操作型別那個
      driver-class-name: org.gjt.mm.mysql.Driver       #配置MySQL的驅動程式類
      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
      username: root
      password: 123456
      filters: stat,wall,log4j     #druid監控配置
      dbcp2:
        min-idle: 5         #資料庫連線池的最小維持連線數
        initial-size: 5     #初始化提供的連線數
        max-total: 5          #最大的連線數
        max-wait-millis: 200        #等待連接獲取的最大超時時間

3.最後,還需要增加一個druid的基本配置,這裡直接上程式碼。

import javax.sql.DataSource;

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 com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;

@Configuration
public class DruidConfig {
    @Bean
    public ServletRegistrationBean druidServlet() {// 主要實現web監控的配置處理
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new StatViewServlet(), "/druid/*");//表示進行druid監控的配置處理操作
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1,129.168.1.11");//白名單
        servletRegistrationBean.addInitParameter("deny", "129.168.1.12");//黑名單
        servletRegistrationBean.addInitParameter("loginUsername", "root");//使用者名稱
        servletRegistrationBean.addInitParameter("loginPassword", "root");//密碼
        servletRegistrationBean.addInitParameter("resetEnable", "false");//是否可以重置資料來源
        return servletRegistrationBean;

    }
    @Bean    //監控
    public FilterRegistrationBean filterRegistrationBean(){
        FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());
        filterRegistrationBean.addUrlPatterns("/*");//所有請求進行監控處理
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");//排除
        return filterRegistrationBean;
    }
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource() {
        return new DruidDataSource();
    }
}

我們可以看到這裡的幾個基本配置,白名單,黑名單,顧名思義就是設定誰可以訪問,誰不能訪問。使用者名稱, 密碼就不用多說了。最後我們登入druid監控,看一下,訪問地址:http://localhost:port/druid/login.html,會看到如下介面

使用上面配置好的使用者名稱密碼進行登入,便實現了druid監控