日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

druid连接池mysql5.7_Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库

發布時間:2025/5/22 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 druid连接池mysql5.7_Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、連接池

在普通的數據庫訪問程序中,客戶程序得到的連接對象是物理連接,調用連接對象的close()方法將關閉連接,而采用連接池技術,客戶程序得到的連接對象是連接池中物理連接的一個句柄,調用連接對象的close()方法,物理連接并沒有關閉,數據源的實現只是刪除了客戶程序中的連接對象和池中的連接對象之間的聯系。

二、連接池框架比較

目前常用的連接池框架主要有c3p0、dbcp、proxool、druid。Spring 推薦使用dbcp;Hibernate 推薦使用c3p0和proxool

1、 DBCP:apache

DBCP(DataBase connection pool)數據庫連接池。是apache上的一個 java連接池項目,也是 tomcat使用的連接池組件。單獨使用dbcp需要3個包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立數據庫連接是一個非常耗時耗資源的行為,所以通過連接池預先同數據庫建立一些連接,放在內存中,應用程序需要建立數據庫連接時直接到連接池中申請一個就行,用完后再放回去。dbcp沒有自動的去回收空閑連接的功能。

2、 C3P0:

C3P0是一個開源的jdbc連接池,它實現了數據源和jndi綁定,支持jdbc3規范和jdbc2的標準擴展。c3p0是異步操作的,緩慢的jdbc操作通過幫助進程完成。擴展這些操作可以有效的提升性能。目前使用它的開源項目有Hibernate,Spring等。c3p0有自動回收空閑連接功能。

3、 Proxool:Sourceforge

Proxool是一種Java數據庫連接池技術。是sourceforge下的一個開源項目,這個項目提供一個健壯、易用的連接池,最為關鍵的是這個連接池提供監控的功能,方便易用,便于發現連接泄漏的情況。

綜合來說,穩定性是dbcp>=c3p0>proxool

后來阿里巴巴的Druid開源了,Druid首先是一個數據庫連接池,但它不僅僅是一個數據庫連接池,它還包含一個ProxyDriver,一系列內置的JDBC組件庫,一個SQLParser。Druid支持所有JDBC兼容的數據庫,包括Oracle、MySql、Derby、Postgresql、SQLServer、H2等等。

Druid針對Oracle和MySql做了特別優化,比如Oracle的PSCache內存占用優化,MySql的ping檢測優化。Druid在監控、可擴展性、穩定性和性能方面都有明顯的優勢。Druid提供了Filter-Chain模式的擴展API,可以自己編寫Filter攔截JDBC中的任何方法,可以在上面做任何事情,比如說性能監控、SQL審計、用戶名密碼加密、日志等等。

三、在Spring Boot中加入Druid連接池

3.1 添加druid依賴

compile group: 'com.alibaba', name: 'druid', version: '1.1.17'

3.2 修改application.yml配置文件

spring:

########-spring datasource-########

datasource:

#賬號配置

url: jdbc:mysql://127.0.0.1:3306/retail_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8

username: test

password: test

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

#druid連接池配置

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

maxPoolPreparedStatementPerConnectionSize: 20

filters: stat,wall,log4j

connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

3.3 DruidConfiguration 配置類

import org.springframework.context.annotation.Configuration;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.boot.web.servlet.ServletRegistrationBean;

import org.springframework.context.annotation.Bean;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

/**

* @author Alan Chen

* @description Druid連接池監控平臺 http://localhost:8080/druid/index.html

* @date 2019/6/4

*/

@Configuration

public class DruidConfiguration {

@Bean

public ServletRegistrationBean startViewServlet(){

ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");

// IP白名單

servletRegistrationBean.addInitParameter("allow","127.0.0.1");

// IP黑名單(共同存在時,deny優先于allow)

servletRegistrationBean.addInitParameter("deny","127.0.0.1");

//控制臺管理用戶

servletRegistrationBean.addInitParameter("loginUsername","admin");

servletRegistrationBean.addInitParameter("loginPassword","123456");

//是否能夠重置數據

servletRegistrationBean.addInitParameter("resetEnable","false");

return servletRegistrationBean;

}

@Bean

public FilterRegistrationBean statFilter(){

FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());

//添加過濾規則

filterRegistrationBean.addUrlPatterns("/*");

//忽略過濾的格式

filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");

return filterRegistrationBean;

}

}

3.4 啟動服務,登錄Druid連接池監控平臺

Druid連接池監控平臺

最后給大家送波福利

阿里云折扣快速入口

總結

以上是生活随笔為你收集整理的druid连接池mysql5.7_Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。