内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

c3p0數(shù)據(jù)庫連接池如何在Java項目中使用-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)c3p0數(shù)據(jù)庫連接池如何在Java項目中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在連城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站,外貿(mào)營銷網(wǎng)站建設(shè),連城網(wǎng)站建設(shè)費用合理。

c3p0是什么

c3p0的出現(xiàn),是為了大大提高應(yīng)用程序和數(shù)據(jù)庫之間訪問效率的。

它的特性:

  • 編碼的簡單易用

  • 連接的復(fù)用

  • 連接的管理

說到c3p0,不得不說一下jdbc本身,c3p0愿意就是對數(shù)據(jù)庫連接的管理,那么原有的概念還是得清晰:DriverManager、Connection、StateMent、ResultMent。

jdbc:java database connective這套API,不用多說,是一套用于連接各式dbms或連接橋接器的api,兩個層級:上層供應(yīng)用方調(diào)用api,下層,定義了各個dbms的spi的api(具體文檔見:這里)。

主要要提的是:datasource、DriverManager,想到哪兒寫到哪兒,datasource是更高級一點的api,原因在于相對對應(yīng)用來說更透明。

Connection:同dbms的邏輯鏈接,類似于session管理概念, SQL statements are executed and results are returned within the context of a connection.

jdbc的概念就到這里,平時用得比較多。

c3P0的配置 

c3p0的bean配置如下:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="${jdbc.driverClassName}" />
  <property name="jdbcUrl" value="${jdbc.url}" />
  <property name="user" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="checkoutTimeout" value="30000" />
  <property name="maxPoolSize" value="15" />
  <property name="idleConnectionTestPeriod" value="180" />
  <property name="maxIdleTime" value="180" />
 </bean>

還有一些配置選項,后續(xù)詳細(xì)說明??梢奵3p0的bean引用使用的是:ComboPooledDataSource,該類結(jié)構(gòu)如下:

c3p0數(shù)據(jù)庫連接池如何在Java項目中使用

c3p0數(shù)據(jù)庫連接池如何在Java項目中使用

以上類圖都不是很完全,不過大體能表達(dá)出類之間的原理:

1、bean:ComboPooledDataSource的父類:AbstractPoolBackedDataSource有一個poolmanager字段,存儲著對pool管理器

2、獲取ds.getConnection()鏈接對象時,內(nèi)部使用getPoolManger()獲取C3p0ConnectionPooledManager(mgr)對象,該manager管理著pool對象:C3P0PooledConnectionPool對象,mgr.getPool().checkoutPooledConnection()

3、自此該connection已經(jīng)被獲取到了

4、讓我們看看該connection的真實面目吧:

 ProxyConnection。

5、因此其實原理是:

從pool里獲取到的connection,是proxy包裝的connection,而對connection的釋放或者重用,是pool的管理責(zé)任:初始化池大小,維護(hù)池的大小(expand或shrink),管理unused、expired、checkout、checkin連接。

真正底層的連接是jdbc自己的連接,而c3p0的管理部分,基本上使用的是synchronized關(guān)鍵字,使用timerTask定時器工作。

看完上述內(nèi)容,你們對c3p0數(shù)據(jù)庫連接池如何在Java項目中使用有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站標(biāo)題:c3p0數(shù)據(jù)庫連接池如何在Java項目中使用-創(chuàng)新互聯(lián)
當(dāng)前地址:http://www.rwnh.cn/article6/jddig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站收錄、小程序開發(fā)、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
大冶市| 剑阁县| 临桂县| 利川市| 惠州市| 寻甸| 崇礼县| 年辖:市辖区| 曲沃县| 双牌县| 沧源| 郓城县| 咸丰县| 马山县| 南华县| 沁源县| 东乌| 滦平县| 华容县| 庐江县| 孙吴县| 汶上县| 阜康市| 塔河县| 启东市| 璧山县| 兴宁市| 类乌齐县| 永济市| 苍溪县| 临夏县| 淮南市| 高尔夫| 东丽区| 洮南市| 交城县| 理塘县| 安陆市| 青海省| 兰州市| 阳泉市|