最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟

 更新時(shí)間:2021年12月09日 11:28:02   作者:學(xué)JAVA的秀琴  
大家好,本篇文章主要講的是數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

連接池概念

數(shù)據(jù)庫(kù)連接池的基本思想:就是為數(shù)據(jù)庫(kù)連接建立一個(gè)“緩沖池”。預(yù)先在緩沖池中放入一定數(shù)量的連接,當(dāng)需要建立數(shù)據(jù)庫(kù)連接時(shí),只需從“緩沖池”中取出一個(gè),使用完畢之后再放回去。

數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是重新建立一個(gè)。

數(shù)據(jù)庫(kù)連接池在初始化時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中,這些數(shù)據(jù)庫(kù)連接的數(shù)量是由最小數(shù)據(jù)庫(kù)連接數(shù)來(lái)設(shè)定的。無(wú)論這些數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫(kù)連接數(shù)量限定了這個(gè)連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù)超過最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中。

傳統(tǒng)連接的缺點(diǎn)

???? ? ?1.普通的JDBC數(shù)據(jù)庫(kù)連接使用DriverManager來(lái)獲取,每次向數(shù)據(jù)庫(kù)建立連接的時(shí)候都要將Connection加載到內(nèi)存中,再驗(yàn)證用戶名和密碼(得花費(fèi)0.05s~1s的時(shí)間)。需要數(shù)據(jù)庫(kù)連接的時(shí)候,就向數(shù)據(jù)庫(kù)要求一個(gè),執(zhí)行完成后再斷開連接。這樣的方式將會(huì)消耗大量的資源和時(shí)間。數(shù)據(jù)庫(kù)的連接資源并沒有得到很好的重復(fù)利用。若同時(shí)有幾百人甚至幾千人在線,頻繁的進(jìn)行數(shù)據(jù)庫(kù)連接操作將占用很多的系統(tǒng)資源,嚴(yán)重的甚至?xí)斐煞?wù)器的崩潰。

? ? ? ? 2.對(duì)于每一次數(shù)據(jù)庫(kù)連接,使用完后都得斷開。否則,如果程序出現(xiàn)異常而未能關(guān)閉,將會(huì)導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)中的內(nèi)存泄漏,最終將導(dǎo)致重啟數(shù)據(jù)庫(kù)。(回憶∶何為Java的內(nèi)存泄漏?)

???????3.這種開發(fā)不能控制被創(chuàng)建的連接對(duì)象數(shù),系統(tǒng)資源會(huì)被毫無(wú)顧及的分配出去,如連接過多,中可能導(dǎo)致空存泄漏,服務(wù)器崩潰。

數(shù)據(jù)庫(kù)連接池的優(yōu)點(diǎn)

提高程序的響應(yīng)速度(減少創(chuàng)建連接相應(yīng)的時(shí)間)減低資源的消耗(可以重復(fù)使用以及提供好的連接)便于連接的管理

實(shí)現(xiàn)方法

DBCP 是Apache提供的數(shù)據(jù)庫(kù)連接池。tomcat 服務(wù)器自帶dbcp數(shù)據(jù)庫(kù)連接池。速度相對(duì)c3p0較快,但因自身存在BUG,Hibernate3已不再提供支持。

C3P0 是一個(gè)開源組織提供的一個(gè)數(shù)據(jù)庫(kù)連接池,速度相對(duì)較慢,穩(wěn)定性還可以。hibernate官方推薦使用

Proxool 是sourceforge下的一個(gè)開源項(xiàng)目數(shù)據(jù)庫(kù)連接池,有監(jiān)控連接池狀態(tài)的功能,穩(wěn)定性較c3p0差一點(diǎn)

BoneCP 是一個(gè)開源組織提供的數(shù)據(jù)庫(kù)連接池,速度快

Druid 是阿里提供的數(shù)據(jù)庫(kù)連接池,據(jù)說(shuō)是集DBCP 、C3P0 、Proxool 優(yōu)點(diǎn)于一身的數(shù)據(jù)庫(kù)連接池,但是速度不確定是否有BoneCP快

演示Druid連接

連接步驟:①導(dǎo)入jar包,②測(cè)試連接代碼,③寫配置文件

????????Druid是阿里巴巴開源平臺(tái)上一個(gè)數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn),它結(jié)合了C3P0、DBCP、Proxool等DB池的優(yōu)點(diǎn),同時(shí)加入了日志監(jiān)控,可以很好的監(jiān)控DB池連接和SQL的執(zhí)行情況,可以說(shuō)是針對(duì)監(jiān)控而生的DB連接池,**可以說(shuō)是目前最好的連接池之一。

DRUID

①導(dǎo)包

②測(cè)試連接代碼

③寫配置文件

QueryRunner插入操作

public static void testInsert() {
        Connection conn = null;
        try {
            QueryRunner runner = new QueryRunner();
            conn = JDBCUtils.getConnection3();
            String sql = "insert into customers(name,email,bitrh)values(?,?,?)";
            int insertCount = runner.update(conn, sql, "陳子宏", "chenzihong@123", "1994-09-09");
            System.out.println("添加了" + insertCount + "條記錄");
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.colseResource(conn, null);
        }
 
 
    }

QueryRunner查詢操作

 //測(cè)試查詢:BeanHander:是ResultSetHandler接口的實(shí)現(xiàn)類,用于封裝表中的一條記錄
    public static void testQuery1() {
        Connection conn = null;
        try {
            QueryRunner runner = new QueryRunner();
            conn = JDBCUtils.getConnection3();
            String sql = "select id,name,email,birth from customers where id =?";
 
            BeanHandler<Customer> handler = new BeanHandler<>(Customer.class);
            Customer customer = runner.query(conn, sql, handler, 21);
            System.out.println(customer);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.colseResource(conn, null);
        }
    }

到此這篇關(guān)于數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟的文章就介紹到這了,更多相關(guān)數(shù)據(jù)庫(kù)連接池內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決springboot上傳圖片后無(wú)法立即訪問需重啟的問題

    解決springboot上傳圖片后無(wú)法立即訪問需重啟的問題

    這篇文章主要介紹了解決springboot上傳圖片后無(wú)法立即訪問需重啟的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • springboot 2.3之后消失的hibernate-validator解決方法

    springboot 2.3之后消失的hibernate-validator解決方法

    這篇文章主要介紹了springboot 2.3之后消失的hibernate-validator解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Token登陸驗(yàn)證機(jī)制的原理及實(shí)現(xiàn)

    Token登陸驗(yàn)證機(jī)制的原理及實(shí)現(xiàn)

    這篇文章介紹了Token登陸驗(yàn)證機(jī)制的原理及實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Java組件commons fileupload實(shí)現(xiàn)文件上傳功能

    Java組件commons fileupload實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了Java組件commons fileupload實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • SpringBoot中的配置文件加載優(yōu)先級(jí)詳解

    SpringBoot中的配置文件加載優(yōu)先級(jí)詳解

    這篇文章主要介紹了SpringBoot中的配置文件加載優(yōu)先級(jí)詳解,springboot啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring?boot的默認(rèn)配置文件,需要的朋友可以參考下
    2024-01-01
  • SpringBoot應(yīng)用的打包和發(fā)布實(shí)現(xiàn)

    SpringBoot應(yīng)用的打包和發(fā)布實(shí)現(xiàn)

    本文主要介紹了SpringBoot應(yīng)用的打包和發(fā)布實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java 9中如何對(duì)IntegerCache進(jìn)行修改詳解

    Java 9中如何對(duì)IntegerCache進(jìn)行修改詳解

    這篇文章主要給大家介紹了關(guān)于Java 9中如何對(duì)IntegerCache進(jìn)行修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用java9具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧。
    2017-12-12
  • sa-token整合springboot中的代碼示例展示

    sa-token整合springboot中的代碼示例展示

    sa-token?是一個(gè)輕量級(jí)的 Java 權(quán)限認(rèn)證框架,它可以很方便地集成到 Spring Boot 項(xiàng)目中,以提供簡(jiǎn)潔的認(rèn)證和授權(quán)功能,這篇文章主要介紹了sa-token整合springboot中的代碼示例展示,需要的朋友可以參考下
    2024-04-04
  • Spring Cloud @RefreshScope 原理及使用

    Spring Cloud @RefreshScope 原理及使用

    這篇文章主要介紹了Spring Cloud @RefreshScope 原理及使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 帶你一文深入認(rèn)識(shí)Java?String類

    帶你一文深入認(rèn)識(shí)Java?String類

    這篇文章主要介紹了帶你一文深入認(rèn)識(shí)Java?String類,String 類在Java中是很常用的類,很重要的類,在后續(xù)的學(xué)習(xí)中經(jīng)常會(huì)用到,是后續(xù)學(xué)習(xí)的基礎(chǔ), 文章圍繞主題展開更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-06-06

最新評(píng)論

广平县| 平和县| 万年县| 昆明市| 嘉义县| 广灵县| 衡水市| 贺州市| 绥化市| 塔城市| 北京市| 山阳县| 达日县| 潞城市| 大竹县| 南郑县| 宁波市| 区。| 金寨县| 辽中县| 梅河口市| 礼泉县| 灵石县| 大安市| 明星| 班戈县| 通榆县| 泽普县| 潼关县| 肥东县| 无棣县| 宜昌市| 卓尼县| 茂名市| 安图县| 孟州市| 北票市| 公安县| 卢龙县| 吉安市| 锦州市|