MySQL++:SpringBoot 配置 MySql 資料庫和Druid連線池
阿新 • • 發佈:2021-07-30
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監控