国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】數(shù)據(jù)庫(kù)連接池--Druid

這篇具有很好參考價(jià)值的文章主要介紹了【Java】數(shù)據(jù)庫(kù)連接池--Druid。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

數(shù)據(jù)庫(kù)連接池

  • 數(shù)據(jù)庫(kù)連接池是一個(gè)容器,負(fù)責(zé)分配、管理數(shù)據(jù)庫(kù)連接(Connection)
  • 它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是再重新建立一個(gè)
  • 釋放空閑時(shí)間超過(guò)最大空閑時(shí)間的數(shù)據(jù)庫(kù)連接來(lái)避免因?yàn)闆]有釋放數(shù)據(jù)庫(kù)連接而引起的數(shù)據(jù)庫(kù)連接遺漏
  • 好處:
  1. 資源重用
  2. 提升系統(tǒng)的響應(yīng)速度
  3. 避免數(shù)據(jù)庫(kù)連接遺漏

標(biāo)準(zhǔn)接口DataSource

功能:獲取連接

Connection getConnection();

常見的數(shù)據(jù)庫(kù)連接池:

  • DBCP
  • C3P0
  • Druid

Druid連接池是阿里巴巴開源的數(shù)據(jù)庫(kù)連接池項(xiàng)目,功能強(qiáng)大,性能優(yōu)秀。

Druid使用步驟

  1. 導(dǎo)入jar包 druid-1.1.12.jar
  2. 定義配置文件
  3. 加載配置文件
  4. 獲取數(shù)據(jù)庫(kù)連接池對(duì)象
  5. 獲取連接
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true
username=root
password=1234
# 初始化連接數(shù)量
initialSize=5
# 最大連接數(shù)
maxActive=10
# 最大等待時(shí)間
maxWait=3000
package Druid;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;

public class DruidDemo {
    public static void main(String[] args) throws Exception {
        //1.導(dǎo)入jar包

        //2.定義配置文件

        //3.加載配置
        Properties prop=new Properties();
        prop.load(new FileInputStream("C:\\Users\\Hayaizo\\IdeaProjects\\jdbc\\jdbc_test\\src\\druid.properties"));
        //4.獲取連接池對(duì)象
        DataSource dataSource=DruidDataSourceFactory.createDataSource(prop);

        //5.獲取數(shù)據(jù)庫(kù)連接Connection
        Connection connection = dataSource.getConnection();

        System.out.println(connection);
    }
}

【Java】數(shù)據(jù)庫(kù)連接池--Druid,JDBC,java,數(shù)據(jù)庫(kù),開發(fā)語(yǔ)言文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813886.html

druid配置詳解

屬性 說(shuō)明 建議值
url 數(shù)據(jù)庫(kù)的jdbc連接地址。一般為連接oracle/mysql。示例如下:
mysql : jdbc:mysql://ip:port/dbname?option1&option2&…
oracle : jdbc:oracle:thin:@ip:port:oracle_sid
username 登錄數(shù)據(jù)庫(kù)的用戶名
password 登錄數(shù)據(jù)庫(kù)的用戶密碼
initialSize 啟動(dòng)程序時(shí),在連接池中初始化多少個(gè)連接 10-50已足夠
maxActive 連接池中最多支持多少個(gè)活動(dòng)會(huì)話
maxWait 程序向連接池中請(qǐng)求連接時(shí),超過(guò)maxWait的值后,認(rèn)為本次請(qǐng)求失敗,即連接池 100
沒有可用連接,單位毫秒,設(shè)置-1時(shí)表示無(wú)限等待
minEvictableIdleTimeMillis 池中某個(gè)連接的空閑時(shí)長(zhǎng)達(dá)到 N 毫秒后, 連接池在下次檢查空閑連接時(shí),將 見說(shuō)明部分
回收該連接,要小于防火墻超時(shí)設(shè)置
net.netfilter.nf_conntrack_tcp_timeout_established的設(shè)置
timeBetweenEvictionRunsMillis 檢查空閑連接的頻率,單位毫秒, 非正整數(shù)時(shí)表示不進(jìn)行檢查
keepAlive 程序沒有close連接且空閑時(shí)長(zhǎng)超過(guò) minEvictableIdleTimeMillis,則會(huì)執(zhí) true
行validationQuery指定的SQL,以保證該程序連接不會(huì)池kill掉,其范圍不超
過(guò)minIdle指定的連接個(gè)數(shù)。
minIdle 回收空閑連接時(shí),將保證至少有minIdle個(gè)連接. 與initialSize相同
removeAbandoned 要求程序從池中g(shù)et到連接后, N 秒后必須close,否則druid 會(huì)強(qiáng)制回收該 false,當(dāng)發(fā)現(xiàn)程序有未
連接,不管該連接中是活動(dòng)還是空閑, 以防止進(jìn)程不會(huì)進(jìn)行close而霸占連接。 正常close連接時(shí)設(shè)置為true
removeAbandonedTimeout 設(shè)置druid 強(qiáng)制回收連接的時(shí)限,當(dāng)程序從池中g(shù)et到連接開始算起,超過(guò)此 應(yīng)大于業(yè)務(wù)運(yùn)行最長(zhǎng)時(shí)間
值后,druid將強(qiáng)制回收該連接,單位秒。
logAbandoned 當(dāng)druid強(qiáng)制回收連接后,是否將stack trace 記錄到日志中 true
testWhileIdle 當(dāng)程序請(qǐng)求連接,池在分配連接時(shí),是否先檢查該連接是否有效。(高效) true
validationQuery 檢查池中的連接是否仍可用的 SQL 語(yǔ)句,drui會(huì)連接到數(shù)據(jù)庫(kù)執(zhí)行該SQL, 如果
正常返回,則表示連接可用,否則表示連接不可用
testOnBorrow 程序 申請(qǐng) 連接時(shí),進(jìn)行連接有效性檢查(低效,影響性能) false
testOnReturn 程序 返還 連接時(shí),進(jìn)行連接有效性檢查(低效,影響性能) false
poolPreparedStatements 緩存通過(guò)以下兩個(gè)方法發(fā)起的SQL: true
public PreparedStatement prepareStatement(String sql)
public PreparedStatement prepareStatement(String sql,
int resultSetType, int resultSetConcurrency)
maxPoolPrepareStatementPerConnectionSize 每個(gè)連接最多緩存多少個(gè)SQL 20
filters 這里配置的是插件,常用的插件有: stat,wall,slf4j
監(jiān)控統(tǒng)計(jì): filter:stat
日志監(jiān)控: filter:log4j 或者 slf4j
防御SQL注入: filter:wall
connectProperties 連接屬性。比如設(shè)置一些連接池統(tǒng)計(jì)方面的配置。
druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
比如設(shè)置一些數(shù)據(jù)庫(kù)連接屬性:

到了這里,關(guān)于【Java】數(shù)據(jù)庫(kù)連接池--Druid的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 通過(guò)JDBC連接數(shù)據(jù)庫(kù)并用Java把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)

    通過(guò)JDBC連接數(shù)據(jù)庫(kù)并用Java把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)

    目錄 1.新建項(xiàng)目 2.在src包下新建lib包,用來(lái)存放jar包(下載對(duì)應(yīng)jar包復(fù)制到lib包里) 3.右鍵導(dǎo)入的jar包,找到并單擊\\\"添加到庫(kù)\\\"(add....) 4.在src包下新建bean包,新建class類 5.class類中寫數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的列名的set get方法、空參、有參(String方法)注意:類名為私有類(private),新建類時(shí)數(shù)

    2024年02月02日
    瀏覽(98)
  • 【大數(shù)據(jù)筆記】java jdbc連接hive數(shù)據(jù)庫(kù);java hive連接kerberos

    【大數(shù)據(jù)筆記】java jdbc連接hive數(shù)據(jù)庫(kù);java hive連接kerberos

    1、pom.xml配置 ????????dependency ????????????groupIdorg.apache.hive/groupId ????????????artifactIdhive-jdbc/artifactId ????????????scope2.1.1/scope ????????/dependency 2、驅(qū)動(dòng) org.apache.hive.jdbc.HiveDriver 3、用傳統(tǒng)改的Class.forName,然后DriverManager去拿。 二、java hive連接kerberos

    2024年01月19日
    瀏覽(18)
  • JAVA使用JDBC連接oracle數(shù)據(jù)庫(kù)

    JAVA使用JDBC連接oracle數(shù)據(jù)庫(kù)

    首先給出代碼和輸出: ?講解下代碼 ?Class.forName(\\\"oracle.jdbc.OracleDriver\\\");這段代碼是用來(lái)加載驅(qū)動(dòng)的。 通過(guò)靜態(tài)類DriverManager的getConnection方法配置連接字符串 DriverManager.getConnection(\\\"jdbc:oracle:thin:@192.168.10.150:1521:orcl11g\\\",\\\"xielong\\\",\\\"xielong\\\"); 其中ip為oracle數(shù)據(jù)庫(kù)地址,1521為默認(rèn)的數(shù)據(jù)

    2024年02月13日
    瀏覽(23)
  • 【Java 進(jìn)階篇】深入理解 JDBC:Java 數(shù)據(jù)庫(kù)連接詳解

    【Java 進(jìn)階篇】深入理解 JDBC:Java 數(shù)據(jù)庫(kù)連接詳解

    數(shù)據(jù)庫(kù)是現(xiàn)代應(yīng)用程序的核心組成部分之一。無(wú)論是 Web 應(yīng)用、移動(dòng)應(yīng)用還是桌面應(yīng)用,幾乎都需要與數(shù)據(jù)庫(kù)交互以存儲(chǔ)和檢索數(shù)據(jù)。Java 提供了一種強(qiáng)大的方式來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,即 JDBC(Java 數(shù)據(jù)庫(kù)連接)。本文將深入探討 JDBC 的各個(gè)方面,從基本概念到實(shí)際編程示例

    2024年02月07日
    瀏覽(26)
  • java連接mysql8.0數(shù)據(jù)庫(kù)—jdbc連接

    java連接mysql8.0數(shù)據(jù)庫(kù)—jdbc連接

    mysql官網(wǎng) 點(diǎn)擊platform Independent ,然后出現(xiàn)jar包選項(xiàng) 點(diǎn)download 點(diǎn)左下角no thanks,直接下載 原始方法,直接在項(xiàng)目下建一個(gè)lib包 然后將剛剛下好的zip解壓,復(fù)制jar包到該目錄下,右鍵jar包,選擇add as Library 出現(xiàn)一堆包,表示成功導(dǎo)入jar包 注意:Driver類創(chuàng)建時(shí),要導(dǎo)入com.mysql.cj.

    2024年02月13日
    瀏覽(96)
  • Java的JDBC編程—連接Mysql數(shù)據(jù)庫(kù)

    Java的JDBC編程—連接Mysql數(shù)據(jù)庫(kù)

    目錄 一、 Java的數(shù)據(jù)庫(kù)編程:JDBC 二、JDBC工作原理 三、?JDBC使用 四、JDBC使用步驟總結(jié) ?五. JDBC常用接口和類 5.1 JDBC API 5.2 數(shù)據(jù)庫(kù)連接Connection 5.3 Statement對(duì)象 5.4 ResultSet對(duì)象 ? ? ?JDBC,即Java Database Connectivity,java數(shù)據(jù)庫(kù)連接。是一種用于執(zhí)行SQL語(yǔ)句的Java API,它是 Java中的數(shù)據(jù)

    2024年02月05日
    瀏覽(103)
  • Java數(shù)據(jù)庫(kù)連接:JDBC介紹與簡(jiǎn)單示例

    在Java程序中,操作數(shù)據(jù)庫(kù)是必不可少的。JDBC(Java Database Connectivity)是Java中用于連接和操作數(shù)據(jù)庫(kù)的一種技術(shù)。通過(guò)JDBC,Java程序可以與各種關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行交互,如MySQL、Oracle、PostgreSQL等。 JDBC是一種標(biāo)準(zhǔn)的Java API,它提供了一組接口,通過(guò)這些接口Java程序可以與數(shù)據(jù)庫(kù)

    2024年02月07日
    瀏覽(24)
  • 數(shù)據(jù)庫(kù)--教務(wù)管理系統(tǒng)(數(shù)據(jù)庫(kù)部分--Java-jdbc連接)

    數(shù)據(jù)庫(kù)--教務(wù)管理系統(tǒng)(數(shù)據(jù)庫(kù)部分--Java-jdbc連接)

    我所設(shè)計(jì)的教務(wù)管理系統(tǒng)包括6大部分,學(xué)生信息、教師信息、課程信息、班級(jí)信息、選課信息、教授信息。該系統(tǒng)可以通過(guò)不同的群體進(jìn)行操作:學(xué)生群體可以對(duì)個(gè)人信息、班級(jí)、教師信息進(jìn)行查詢操作,對(duì)于課程則可以進(jìn)行選課操作;教師群體可以個(gè)人信息、班級(jí)信息、學(xué)

    2024年02月03日
    瀏覽(39)
  • JDBC-->java如何連接數(shù)據(jù)庫(kù)(詳細(xì)版小白必備)

    JDBC-->java如何連接數(shù)據(jù)庫(kù)(詳細(xì)版小白必備)

    ?個(gè)人名片: ??作者簡(jiǎn)介:一名大二在校生,熱愛生活,愛好敲碼! ??個(gè)人主頁(yè) ??:holy-wangle ?系列內(nèi)容: ????tkinter前端窗口界面創(chuàng)建與優(yōu)化 ??? Java實(shí)現(xiàn)ATP小系統(tǒng) ?個(gè)性簽名: ??不積跬步,無(wú)以至千里;不積小流,無(wú)以成江海 ? ? ? ? 最近在忙著復(fù)習(xí)期末考試

    2024年02月04日
    瀏覽(23)
  • Java連接mysql數(shù)據(jù)庫(kù)方法及代碼(jdbc)

    Java連接mysql數(shù)據(jù)庫(kù)方法及代碼(jdbc)

    編譯器使用IDEA 我的相關(guān)博客: java代碼程序中連接mysql數(shù)據(jù)庫(kù)的方法及代碼 mysql數(shù)據(jù)庫(kù)并發(fā)上鎖問(wèn)題,java代碼 1.首先從mysql官網(wǎng)下載mysql-connector-java.jar包到本地。 這里注意要和你本地的mysql數(shù)據(jù)庫(kù)版本相匹配! 下載相應(yīng)的壓縮包,在本地解壓即可進(jìn)行下一步操作。 2.打開自己

    2024年02月08日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包