如何在Spring boot中替換資料來源

2021-10-06 15:52:32 字數 2921 閱讀 4769

1、替換dbcp和c3p0。druid提供了乙個高效、功能強大、可擴充套件性好的資料庫連線池。

2、可以監控資料庫訪問效能,druid內建提供了乙個功能強大的statfilter外掛程式,能夠詳細統計sql的執行效能,這對於線上分析資料庫訪問效能有幫助。

3、資料庫密碼加密。直接把資料庫密碼寫在配置檔案中,這是不好的行為,容易導致安全問題。druiddruiver和druiddatasource都支援passwordcallback。

4、sql執行日誌,druid提供了不同的logfilter,能夠支援common-logging、log4j和jdklog,你可以按需要選擇相應的logfilter,監控你應用的資料庫訪問情況。

5、擴充套件jdbc,如果你要對jdbc層有程式設計的需求,可以通過druid提供的filter機制,很方便編寫jdbc層的擴充套件外掛程式。

所以druid可以: 1、充當資料庫連線池。 2、可以監控資料庫訪問效能 3、獲得sql執行日誌

在主配置檔案中寫:

spring:

datasource:

#   資料來源基本配置

username: root

password: 111

driver-class-name: com.mysql.jdbc.driver

url: jdbc:mysql:///mybatis?useunicode=true&characterencoding=utf-8&servertimezone=gmt%2b8

type: com.alibaba.druid.pool.druiddatasource

資料來源會有很多配置,資料池大小等

只加入的話並不能配置到(主配置檔案)

spring:

datasource:

#   資料來源基本配置

username: root

password: 111

driver-class-name: com.mysql.jdbc.driver

url: jdbc:mysql:///mybatis?useunicode=true&characterencoding=utf-8&servertimezone=gmt%2b8

type: com.alibaba.druid.pool.druiddatasource

#   資料來源其他配置

initialsize: 5

minidle: 5

maxactive: 20

maxwait: 60000

timebetweenevictionrunsmillis: 60000

minevictableidletimemillis: 300000

validationquery: select 1 from dual

testwhileidle: true

testonborrow: false

testonreturn: false

poolpreparedstatements: true

#   配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆

##    filters: stat,wall,log4j

#    maxpoolpreparedstatementperconnectionsize: 20

#    useglobaldatasourcestat: true

#    connectionproperties: druid.stat.mergesql=true;druid.stat.slowsqlmillis=500

#    schema:

#      - classpath:sql/department.sql

#      - classpath:sql/employee.sql

#mybatis:

#  # 指定全域性配置檔案位置

#  config-location: classpath:mybatis/mybatis-config.xml

#  # 指定sql對映檔案位置

###   schema:

##     - classpath:sql/department.sql

##     - classpath:sql/employee.sql

可能出現的錯誤:

如果沒有匯入log4j的話加入filters: stat,wall,log4j這一行會出錯

2.自己配置druid資料來源

自己寫乙個配置類

@configuration

public class druidconfig

//配置druid的監控

//1、配置乙個管理後台的servlet

@bean

public servletregistrationbean statviewservlet()​​

//2、配置乙個web監控的filter

@bean

public filterregistrationbean webstatfilter()

}

3.pom檔案引入druid資料來源

com.alibaba

druid

1.1.8

4.使用druid

登入**:localhost:8080/druid

賬號密碼為servlet裡面的密碼

1.在resources目錄下建立sql資料夾把sql檔案放入

2.在主配置檔案加入(與資料來源基本配置保持相同空格)

connectionproperties: druid.stat.mergesql=true;druid.stat.slowsqlmillis=500

schema:

- classpath:sql/department.sql

- classpath:sql/employee.sql

如何在IDEA中建立Spring Boot專案

1.spring boot是spring家族中的乙個全新的框架,它用來簡化spring應用程式的建立和開發過程,也可以說spring boot能簡化我們之前採用springmvc spring mybatis框架進行開發的過程。2.在以往我們採用springmvc spring mybatis框架進...

如何在springboot中實現頁面的國際化

確保這個修改是正確的 否則將會出程式設計客棧現亂碼 建立i18n資料夾 就是國際化的意思 然後在此檔案加下創l login zh cn,properties檔案,然後他會自動合併,建立乙個資料夾 然後就可以從這裡建立檔案了 建立方式如圖所示,他會簡單一點 配置properties檔案 輸入對應的中英...

如何在Spring Boot開啟事務

今天給大家介紹如何在spring boot中開啟事務,希望大家喜歡。說到事務,那什麼是事務呢?事務 transaction 一般是指要做的或所做的事情。那麼如何在spring boot中使用呢?其實只需要兩步即可 在service實現類的方法上新增 transactional註解。具體實現 pack...