999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析JAVA的數(shù)據(jù)庫(kù)連接池技術(shù)

2020-08-13 14:39:02馬剛孫炳潤(rùn)

馬剛 孫炳潤(rùn)

摘??要:隨著WEB技術(shù)的發(fā)展和電子商務(wù)時(shí)代的到來(lái),以Java技術(shù)為核心的JSP技術(shù)應(yīng)運(yùn)而生。本文呢介紹了Java中使用的數(shù)據(jù)庫(kù)連接技術(shù)———JDBC,綜述了四種基于JDBC的數(shù)據(jù)庫(kù)訪問(wèn)機(jī)制,并且在Tomcat服務(wù)器上用JavaBean實(shí)現(xiàn)了SQLServer2000的數(shù)據(jù)庫(kù)連接池。

關(guān)鍵詞:JSP;JDBC;連接池;JavaBean

一、引言

JSP將Java作為其腳本語(yǔ)言,在傳統(tǒng)的HTML文件中加入Java程序片段和JSP標(biāo)簽,因此JSP也繼承了Java語(yǔ)言特點(diǎn)。在使用JSP技術(shù)開(kāi)發(fā)基于數(shù)據(jù)庫(kù)的動(dòng)態(tài)Web應(yīng)用程序中,與數(shù)據(jù)庫(kù)的連接的管理性能會(huì)影響到整個(gè)應(yīng)用程序的可伸縮性。

二、Java中數(shù)據(jù)庫(kù)連接技術(shù)簡(jiǎn)介

JDBC可分為4種類型:

(1)JDBC-ODBC橋

最初的數(shù)據(jù)庫(kù)連接方式是借助各數(shù)據(jù)庫(kù)廠商提供的差異性極大的數(shù)據(jù)庫(kù)驅(qū)動(dòng)接口來(lái)實(shí)現(xiàn)的,因此其實(shí)現(xiàn)非常繁瑣并且通用性差,具有很大的局限性。為此,微軟首先提出了通用的數(shù)據(jù)庫(kù)連接機(jī)制和標(biāo)準(zhǔn)以實(shí)現(xiàn)各種不同關(guān)系型數(shù)據(jù)庫(kù)統(tǒng)一的互聯(lián)規(guī)范,該規(guī)范即為ODBC(開(kāi)放式數(shù)據(jù)庫(kù)連接)。而JDBC-ODBC橋?qū)嵸|(zhì)上是Java提供的一種以JDBC為介質(zhì),通過(guò)傳統(tǒng)的ODBC驅(qū)動(dòng)程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的方法。通過(guò)使用JDBC中連接ODBC驅(qū)動(dòng)的驅(qū)動(dòng)程序,即可實(shí)現(xiàn)這種數(shù)據(jù)庫(kù)連接。該方案需要在本地安裝ODBC類庫(kù)和驅(qū)動(dòng)程序。

(2)Java到本地

APIJDBC-ODBC橋由于采用了一種間接的數(shù)據(jù)庫(kù)驅(qū)動(dòng)方式,因此,效率上打了一定的折扣。一種較為高效的JDBC連接方法是JDBC驅(qū)動(dòng)程序使用Java本地接口直接調(diào)用本地的數(shù)據(jù)庫(kù)API,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接和對(duì)數(shù)據(jù)的操縱。該方案也要求在本地安裝連接目標(biāo)數(shù)據(jù)庫(kù)的類庫(kù)。

(3)Java到網(wǎng)絡(luò)協(xié)議

這類JDBC驅(qū)動(dòng)程序是純Java的驅(qū)動(dòng)程序,它通過(guò)一定的網(wǎng)絡(luò)協(xié)議與數(shù)據(jù)庫(kù)服務(wù)器上的JDBC中間件通信。由于該類驅(qū)動(dòng)程序不要求在訪問(wèn)數(shù)據(jù)庫(kù)的Java程序各地都安裝目標(biāo)數(shù)據(jù)庫(kù)的類庫(kù),因此,它是最靈活的JDBC方案,使得程序可以通過(guò)網(wǎng)絡(luò)協(xié)議與不同的數(shù)據(jù)庫(kù)進(jìn)行通信。

(4)Java到數(shù)據(jù)庫(kù)協(xié)議

這類驅(qū)動(dòng)程序也是純Java程序?qū)崿F(xiàn)的,它通過(guò)實(shí)現(xiàn)一定的數(shù)據(jù)庫(kù)協(xié)議直接與數(shù)據(jù)庫(kù)通信。由于該方案直接與數(shù)據(jù)庫(kù)通信,因此,其效率是4種方案中最高的。通常,Java應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程分為如下4個(gè)步驟:(1)裝載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。2)通過(guò)JDBC建立數(shù)據(jù)庫(kù)連接。3)訪問(wèn)數(shù)據(jù)庫(kù),執(zhí)行SQL語(yǔ)句。4)斷開(kāi)數(shù)據(jù)庫(kù)連接。

三、JDBC數(shù)據(jù)庫(kù)連接池技術(shù)

數(shù)據(jù)庫(kù)連接池最基本的思想就是預(yù)先建立一些連接放置于內(nèi)存對(duì)象中以備使用,當(dāng)程序中需要建立數(shù)據(jù)庫(kù)連接時(shí),只須從內(nèi)存中取一個(gè)來(lái)用而不用新建。使用完畢后只需放回內(nèi)存即可,而連接的建立、斷開(kāi)都有連接池自身來(lái)管理(見(jiàn)圖1)。

同時(shí)還可以通過(guò)設(shè)置連接池的參數(shù)來(lái)控制連接池中的連接數(shù)、每個(gè)連接的最大使用次數(shù),還可以通過(guò)其自身的管理機(jī)制來(lái)監(jiān)視數(shù)據(jù)庫(kù)連接的數(shù)量、使用情況等,連接池的使用大大提高了程序效率。連接池的基本屬性主要有:連接池中連接數(shù)量下限和上限、一個(gè)連接的最大使用次數(shù)、一個(gè)連接的最長(zhǎng)空閑時(shí)間、同一時(shí)間的最大連接數(shù)。這些屬性定義了連接池與其中的每個(gè)連接的有效狀態(tài)值。連接池的自我管理,實(shí)際上就是通過(guò)定時(shí)對(duì)每個(gè)連接的狀態(tài)、連接的數(shù)量進(jìn)行判斷而進(jìn)行相應(yīng)的操作。當(dāng)前國(guó)內(nèi)的數(shù)據(jù)庫(kù)連接池的解決方案主要是通過(guò)創(chuàng)建封裝DriverManager的包DBConnection,通過(guò)該包來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接的復(fù)用管理。自JDBC2.0推出以后,一種優(yōu)于DriverManager解決方案已經(jīng)出現(xiàn),它就是利用JDBC2.0中的DataSource來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池,以替代1.0中提供的DriverManager類。DataSource是一個(gè)由JDBC驅(qū)動(dòng)程序管理的包含數(shù)據(jù)庫(kù)連接信息的數(shù)據(jù)對(duì)象,可以和JNDI(JavaNamingDirectoryInterface)命名服務(wù)協(xié)同工作,一個(gè)數(shù)據(jù)源對(duì)象注冊(cè)到JNDI名字服務(wù)后,應(yīng)用程序就可以從JNDI服務(wù)器上取得該對(duì)象,并使用它和數(shù)據(jù)源建立連接。這樣與連接有關(guān)的信息就可以在DataSource對(duì)象的屬性中修改,無(wú)需改動(dòng)使用這個(gè)數(shù)據(jù)源的應(yīng)用程序,因此增強(qiáng)了應(yīng)用程序的可移植性、可維護(hù)性。

四、連接池的建立和實(shí)現(xiàn)

目前的JDBC驅(qū)動(dòng)中基本都包含了DataSource接口的實(shí)現(xiàn),但不少都沒(méi)有包含基于DataSource的數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn),如SQLServer2000的JDBC驅(qū)動(dòng)中就沒(méi)有這種數(shù)據(jù)庫(kù)連接池。但在當(dāng)前的主流應(yīng)用服務(wù)器上都包含了基于DataSource的數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)。如:Weblogic、Websphere、Tomcat等。本文以Tomcat7+SQLSERVER2018為平臺(tái)來(lái)研究如何用JavaBean實(shí)現(xiàn)SQLSERVER2000數(shù)據(jù)庫(kù)連接池。

將連接池部分采用JavaBean的形式進(jìn)行實(shí)現(xiàn),這樣不僅頁(yè)面易于維護(hù),而且代碼也得到重用。JavaBean是經(jīng)編譯過(guò)的class文件,源代碼也得到保密。而且將用戶名和密碼封裝在class文件內(nèi)對(duì)數(shù)據(jù)庫(kù)也起到安全保護(hù)作用。

五、結(jié)束語(yǔ)

連接池技術(shù)可以更加高效地連接并操作各種數(shù)據(jù)庫(kù)大大降低了系統(tǒng)開(kāi)銷,提高了數(shù)據(jù)庫(kù)訪問(wèn)的速度。筆者發(fā)現(xiàn),數(shù)據(jù)庫(kù)連接池技術(shù)可使開(kāi)發(fā)效率明顯得到提高,代碼維護(hù)代價(jià)大大降低,訪問(wèn)效率也得到顯著提高,使有限的計(jì)算機(jī)系統(tǒng)資源為更多的用戶提供更加安全可靠的服務(wù)。

參考文獻(xiàn)

[1] 李肅義,李洋.在JSP中使用JavaBeans連接數(shù)據(jù)庫(kù)[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2002,20(3):78-79.

[2] 范新民.基于JSP、JDBC技術(shù)動(dòng)態(tài)訪問(wèn)Web數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方案[J].福建師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,18(2):33-35.

[3] 林元元.JDBC?連接?MySQL?數(shù)據(jù)庫(kù)的方法淺析?[J].長(zhǎng)沙通信職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,(01).

[4] 高偉,李爽,杜瑞慶.基于?JDBC?的?SQL?Server?數(shù)據(jù)庫(kù)訪問(wèn)?[J].福建電腦,2008,(01).

主站蜘蛛池模板: 免费看黄片一区二区三区| 成人91在线| 欧美精品伊人久久| 欧美国产日韩另类| 欧美性爱精品一区二区三区 | 国产18在线| 欧美国产日产一区二区| 91精品国产一区| 一本色道久久88综合日韩精品| 国产亚洲欧美另类一区二区| 波多野结衣久久精品| 亚洲日韩精品无码专区| 色悠久久综合| 日韩黄色大片免费看| 91精品久久久无码中文字幕vr| 巨熟乳波霸若妻中文观看免费| 日韩小视频网站hq| 午夜福利在线观看成人| 老司国产精品视频| 国产一在线| 精品久久久久久久久久久| 国产乱人乱偷精品视频a人人澡| 国产无遮挡裸体免费视频| 国产97视频在线观看| 成人在线亚洲| 久久精品这里只有国产中文精品| 国产精品女熟高潮视频| 国产老女人精品免费视频| 男人天堂伊人网| 亚洲天堂精品在线观看| 国产精品无码AⅤ在线观看播放| 日本人妻一区二区三区不卡影院| 欧美在线精品怡红院| 日韩AV无码免费一二三区| 国产精品美人久久久久久AV| 99草精品视频| 亚洲第一黄色网址| 自偷自拍三级全三级视频| 在线观看热码亚洲av每日更新| 欧美a√在线| 少妇精品在线| 欧美a√在线| 色妞www精品视频一级下载| 欧美精品成人一区二区视频一| av一区二区无码在线| 国产H片无码不卡在线视频| 欧美丝袜高跟鞋一区二区| 日韩精品毛片| 青青草原国产av福利网站| 五月天综合婷婷| 丰满的少妇人妻无码区| 欧美区国产区| 91免费观看视频| 免费观看成人久久网免费观看| 亚洲天堂日本| 精品国产免费第一区二区三区日韩| 国产亚洲现在一区二区中文| 国产精品毛片一区| 亚洲精品欧美重口| 国产成人a在线观看视频| 亚洲精品无码成人片在线观看 | 69精品在线观看| 国产精品尤物铁牛tv| 美女扒开下面流白浆在线试听| 色亚洲激情综合精品无码视频 | 欧美一级专区免费大片| 9啪在线视频| 欧美日韩福利| 91美女视频在线| 欧美天天干| 99资源在线| 一区二区日韩国产精久久| 97视频精品全国免费观看| 亚洲精品成人7777在线观看| 国产乱子伦一区二区=| 丁香婷婷在线视频| 欧美午夜视频| 久久无码免费束人妻| 无码在线激情片| 国产精品99久久久| 欧美午夜网| 亚洲日韩国产精品综合在线观看|