免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
選擇合適的JDBC驅(qū)動(dòng)程序
[轉(zhuǎn)貼]選擇合適的JDBC驅(qū)動(dòng)程序
作者:cinc 發(fā)表時(shí)間:2002/10/21 10:01am
[這個(gè)貼子最后由cinc在 2002/10/21 10:09am 編輯]
選擇合適的JDBC驅(qū)動(dòng)程序
文章來源:(仙人掌工作室 )
閱讀次數(shù):(65)
更新時(shí)間:(2002-10-17 19:14:00)
如果你不了解JDBC驅(qū)動(dòng)程序各個(gè)特性指標(biāo)的具體含義,或者不了解到底哪些特性才值得重視,要從大量的驅(qū)動(dòng)程序中選擇最合適的一個(gè)并不容易。本文將助你一臂之力。
概述
說到數(shù)據(jù)庫驅(qū)動(dòng)程序,可以借用喜劇演員Rodney Dangerfield的一句話:“勿以等閑視之”。許多開發(fā)者認(rèn)為驅(qū)動(dòng)程序只是一些功能確定且無足輕重的工具,但事實(shí)上,驅(qū)動(dòng)程序往往不是數(shù)據(jù)轉(zhuǎn)換器或數(shù)據(jù)管道那么簡(jiǎn)單,它們的有些特性極其重要,既影響著應(yīng)用的性能,也影響著應(yīng)用的功能發(fā)揮。
Java開發(fā)者常常需要訪問包括關(guān)系數(shù)據(jù)庫在內(nèi)的各種各樣的數(shù)據(jù)源,JDBC驅(qū)動(dòng)程序利用JDBC標(biāo)準(zhǔn)建立起了Java程序和數(shù)據(jù)源之間的橋梁。在JDBC出現(xiàn)之前,Java開發(fā)者為了構(gòu)造帶有數(shù)據(jù)庫事務(wù)的應(yīng)用,不得不沉陷于各種復(fù)雜的SQL語句。為了解決這個(gè)問題,Sun和它的合作者開發(fā)出了簡(jiǎn)化Java應(yīng)用訪問各種數(shù)據(jù)資源的JDBC API。
一進(jìn)入JDBC驅(qū)動(dòng)程序的世界,你很快會(huì)有一種眼花繚亂的感覺:可供選擇的驅(qū)動(dòng)程序?qū)嵲谔嗔耍‰m然擁有選擇的權(quán)利是一件好事,但是,舉例來說,Sun網(wǎng)站上列出了160多個(gè)JDBC驅(qū)動(dòng)程序,卻沒有詳細(xì)說明究竟哪一個(gè)驅(qū)動(dòng)程序更好,好在哪里?雖然根據(jù)說明,每一個(gè)驅(qū)動(dòng)程序都支持某些重要的功能集,但還有一個(gè)問題有待回答:在一個(gè)具體的環(huán)境中,這些不同驅(qū)動(dòng)程序支持的功能集到底有什么意義?這就是本文要討論的問題。
我們來回顧一些JDBC標(biāo)準(zhǔn)和驅(qū)動(dòng)程序的基礎(chǔ)知識(shí)。首先,JDBC提供了完成下列基本任務(wù)的方法:
● 以URL或注冊(cè)到JNDI名稱服務(wù)的DataSource對(duì)象為基礎(chǔ),創(chuàng)建和管理數(shù)據(jù)源連接。因此,客戶端不必進(jìn)行復(fù)雜的配置。
● 構(gòu)造SQL命令,向數(shù)據(jù)源發(fā)送SQL命令。
● 提取和處理返回給Java應(yīng)用或Applet的結(jié)果集。
JDBC把Java數(shù)據(jù)庫調(diào)用轉(zhuǎn)換成訪問表格式數(shù)據(jù)源的SQL語句。這些數(shù)據(jù)源既包括企業(yè)級(jí)的SQL數(shù)據(jù)庫系統(tǒng),例如Oracle、SQL Server、IBM UDB、Informix、Sybase等等,也有電子表格和扁平文件的數(shù)據(jù)源,如CSV、TSV和大型機(jī)數(shù)據(jù)文件。有了JDBC,我們就可以用單一的命令更新多個(gè)字段、在單個(gè)事務(wù)中處理多個(gè)數(shù)據(jù)源(表)。這意味著:
● 可以通過批量處理優(yōu)化數(shù)據(jù)訪問性能。
● JDBC提供了訪問不同數(shù)據(jù)庫產(chǎn)品的公共框架,不管這些數(shù)據(jù)庫系統(tǒng)本身是否具有互操作能力。
● 為數(shù)據(jù)源提供了一個(gè)抽象層,當(dāng)數(shù)據(jù)源類型發(fā)生變化時(shí),修改數(shù)據(jù)源定義變得更加簡(jiǎn)單。
如果客戶程序要調(diào)用的軟件或中間層服務(wù)器要調(diào)用的中間件不屬于開發(fā)者控制范圍,JDBC提供了通過Internet訪問數(shù)據(jù)源的能力。JDBC充分發(fā)揮了Java可移植、自包含的特性,避免了僅僅由于平臺(tái)、環(huán)境的不同而為同一個(gè)應(yīng)用提供多個(gè)版本的必要。
JDBC規(guī)范以及驅(qū)動(dòng)程序分類
現(xiàn)在我們來看看JDBC規(guī)范。JDBC規(guī)范歷史上經(jīng)歷了幾次重大的版本更新:
● JDBC 1.0:提供基本的功能,強(qiáng)調(diào)易用性。
● JDBC 2.0:提供更多高級(jí)功能以及服務(wù)器端的處理能力。
● JDBC 3.0:完善了API,優(yōu)化性能。改進(jìn)了連接池、語句緩沖機(jī)制,提供了向Sun連接器體系的遷移途徑。
一些在JDBC 2.0規(guī)范中可選的功能,例如分布式事務(wù),在JDBC 3.0規(guī)范中是必需的。同時(shí),JDBC 3.0還定義了一些新的特性,例如在緩沖池中緩沖經(jīng)過預(yù)處理的命令等。
最初的Java語言規(guī)范并沒有規(guī)定Java程序如何訪問數(shù)據(jù)庫。但不久之后,Sun和它的合作者就開始填補(bǔ)這個(gè)空白。早期的Java數(shù)據(jù)訪問策略依賴于建立通向ODBC(ODBC是Microsoft發(fā)起的數(shù)據(jù)源訪問標(biāo)準(zhǔn))的橋梁,結(jié)果就是JDBC-ODBC橋接驅(qū)動(dòng)程序。今天,JDBC驅(qū)動(dòng)程序總共有四種類型:
第一類:JDBC-ODBC橋,再加上ODBC驅(qū)動(dòng)程序。
第二類:本機(jī)API,部分是Java的驅(qū)動(dòng)程序。
第三類:面向數(shù)據(jù)庫中間件的純Java驅(qū)動(dòng)程序。
第四類:直接面向數(shù)據(jù)庫的純Java驅(qū)動(dòng)程序。
第三、四兩類都是純Java的驅(qū)動(dòng)程序,因此,對(duì)于Java開發(fā)者來說,它們?cè)谛阅?、可移植性、功能等方面都有?yōu)勢(shì)。
第一類
第一類JDBC驅(qū)動(dòng)程序是JDBC-ODBC橋再加上一個(gè)ODBC驅(qū)動(dòng)程序。Sun建議第一類驅(qū)動(dòng)程序只用于原型開發(fā),而不要用于正式的運(yùn)行環(huán)境。橋接驅(qū)動(dòng)程序由Sun提供,它的目標(biāo)是支持傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)。Sun為該軟件提供關(guān)鍵問題的補(bǔ)丁,但不為該軟件的最終用戶提供支持。一般地,橋接驅(qū)動(dòng)程序用于已經(jīng)在ODBC技術(shù)上投資的情形,例如已經(jīng)投資了Windows應(yīng)用服務(wù)器。
盡管Sun提供了JDBC-ODBC橋接驅(qū)動(dòng)程序,但由于ODBC會(huì)在客戶端裝載二進(jìn)制代碼和數(shù)據(jù)庫客戶端代碼,這種技術(shù)不適用于高事務(wù)性的環(huán)境。另外,第一類JDBC驅(qū)動(dòng)程序不支持完整的Java命令集,而是局限于ODBC驅(qū)動(dòng)程序的功能。
第二類
第二類JDBC驅(qū)動(dòng)程序是本機(jī)API的部分Java代碼的驅(qū)動(dòng)程序,用于把JDBC調(diào)用轉(zhuǎn)換成主流數(shù)據(jù)庫API的本機(jī)調(diào)用。這類驅(qū)動(dòng)程序也存在與第一類驅(qū)動(dòng)程序一樣的性能問題,即客戶端載入二進(jìn)制代碼的問題,而且它們被綁定了特定的平臺(tái)。
第二類驅(qū)動(dòng)程序要求編寫面向特定平臺(tái)的代碼,這對(duì)于任何Java開發(fā)者來說恐怕都不屬于真正樂意做的事情。主流的數(shù)據(jù)庫廠商,例如Oracle和IBM,都為它們的企業(yè)數(shù)據(jù)庫平臺(tái)提供了第二類驅(qū)動(dòng)程序,使用這些驅(qū)動(dòng)程序的開發(fā)者必須及時(shí)跟進(jìn)不同數(shù)據(jù)庫廠商針對(duì)不同操作系統(tǒng)發(fā)行的各個(gè)驅(qū)動(dòng)程序版本。
另外,由于第二類驅(qū)動(dòng)程序沒有使用純Java的API,把Java應(yīng)用連接到數(shù)據(jù)源時(shí),往往必須執(zhí)行一些額外的配置工作。很多時(shí)候,第二類驅(qū)動(dòng)程序不能在體系結(jié)構(gòu)上與大型主機(jī)的數(shù)據(jù)源兼容;即使做到了兼容,效果也是差強(qiáng)人意。
由于諸如此類的原因,大多數(shù)Java數(shù)據(jù)庫開發(fā)者選擇第三類驅(qū)動(dòng)程序,或者選擇更靈活的第四類純Java新式驅(qū)動(dòng)程序。
圖一:第1、2兩類驅(qū)動(dòng)程序的體系比較
第三類
第三類JDBC驅(qū)動(dòng)程序是面向數(shù)據(jù)庫中間件的純Java驅(qū)動(dòng)程序,JDBC調(diào)用被轉(zhuǎn)換成一種中間件廠商的協(xié)議,中間件再把這些調(diào)用轉(zhuǎn)換到數(shù)據(jù)庫API。第三類JDBC驅(qū)動(dòng)程序的優(yōu)點(diǎn)是它以服務(wù)器為基礎(chǔ),也就是不再需要客戶端的本機(jī)代碼,這使第三類驅(qū)動(dòng)程序要比第一、二兩類快。另外,開發(fā)者還可以利用單一的驅(qū)動(dòng)程序連接到多種數(shù)據(jù)庫。
第四類
第四類JDBC驅(qū)動(dòng)程序是直接面向數(shù)據(jù)庫的純Java驅(qū)動(dòng)程序,即所謂的“瘦”(thin)驅(qū)動(dòng)程序,它把JDBC調(diào)用轉(zhuǎn)換成某種直接可被DBMS使用的網(wǎng)絡(luò)協(xié)議,這樣,客戶機(jī)和應(yīng)用服務(wù)器可以直接調(diào)用DBMS服務(wù)器。對(duì)于第四類驅(qū)動(dòng)程序,不同DBMS的驅(qū)動(dòng)程序不同。因此,在一個(gè)異構(gòu)計(jì)算環(huán)境中,驅(qū)動(dòng)程序的數(shù)量可能會(huì)比較多。但是,由于第四類驅(qū)動(dòng)程序具有較高的性能,能夠直接訪問DBMS,所以這一問題就不那么突出了。
圖二:第3、4兩類驅(qū)動(dòng)程序的體系比較
選擇JDBC驅(qū)動(dòng)程序
Sun在http://industry.java.sun.com/products/jdbc/drivers維護(hù)著一個(gè)JDBC驅(qū)動(dòng)程序的清單,如圖三所示。這個(gè)頁面提供了一個(gè)驅(qū)動(dòng)程序選擇工具,能夠根據(jù)指定的特征顯示出符合要求的驅(qū)動(dòng)程序,允許指定的特征包括驅(qū)動(dòng)程序類型、支持的JDBC版本、支持的數(shù)據(jù)庫等等。今天(2002年09月),這個(gè)頁面收集的驅(qū)動(dòng)程序已經(jīng)達(dá)到165個(gè)!
許多人用這個(gè)選擇工具來確定自己要用的驅(qū)動(dòng)程序。所以,有必要詳細(xì)介紹一下這個(gè)選擇工具:
● JDBC API Version:選擇JDBC版本,可從1.x、2.x或3.x中任選一種。
● Certified for J2EE:J2EE認(rèn)證,可選擇J2EE 1.3或J2EE 1.2(其中之一或全部)。
● Driver Type:驅(qū)動(dòng)程序類型,1、2、3或4,任意一種或全部。
● Supported DBMS:支持的DBMS,有83個(gè)選項(xiàng),大部分是各廠商的數(shù)據(jù)庫產(chǎn)品,但也有一部分是產(chǎn)業(yè)標(biāo)準(zhǔn),例如JDBC、LDAP、ODBC、OLE DB Provider、Text(TSV)、SQL/DS,以及XML??蛇x擇一個(gè)或多個(gè)。
● Required Features:必需的特性,包括DataSource、連接池(Conn. Pooling)、分布式事務(wù)(Dist. Trans.)、記錄集(RowSets),可任選一個(gè)或者多個(gè)。
● Returns per page:每頁返回的結(jié)果數(shù)量。
圖三:Sun的JDBC驅(qū)動(dòng)程序選擇工具
下面我們來看看各個(gè)選項(xiàng)分別有哪些意義。
JDBC API
JDBC API的重要性在于,它決定了Java開發(fā)者可用的功能。早期的Java應(yīng)用可能無法使用JDBC 3.0提供的許多高級(jí)特性,但這些特性對(duì)于高事務(wù)性、分布式的應(yīng)用來說必不可少。使用最新版本的JDBC API,開發(fā)者才能使用各種新的DBMS和操作系統(tǒng)安全擴(kuò)展,以及諸如連接池、語句緩沖池、RowSets對(duì)象等最新的性能優(yōu)化機(jī)制。
J2EE認(rèn)證
記住,JDBC只是一個(gè)規(guī)范,而不是一個(gè)軟件的標(biāo)準(zhǔn)實(shí)現(xiàn)。各個(gè)廠商可以根據(jù)需要實(shí)現(xiàn)自己的JDBC驅(qū)動(dòng)程序。有一些驅(qū)動(dòng)程序完全遵從J2EE規(guī)范,還有許多驅(qū)動(dòng)程序不遵從J2EE規(guī)范。JDBC驅(qū)動(dòng)程序的J2EE認(rèn)證(即獲取Certified for J2EE logo)由Sun的CTS(Certification Test Suite)確定,如果要判斷一種驅(qū)動(dòng)程序是否比另一種優(yōu)秀,它可以作為判斷驅(qū)動(dòng)程序質(zhì)量的標(biāo)準(zhǔn)之一。一般我們可以認(rèn)為,通過這種認(rèn)證的廠商對(duì)產(chǎn)品質(zhì)量比較關(guān)注,在http://java.sun.com/products/jdbc/industry.html可以找到一個(gè)擁有相關(guān)產(chǎn)品且認(rèn)可(Endorse)JDBC標(biāo)準(zhǔn)的廠商清單。
必需的特性
圖三Required Features部分提供了幾個(gè)JDBC驅(qū)動(dòng)程序的特性選項(xiàng),這些特性在JDBC 2.0規(guī)范中開始引入,但在JDBC 3.0中是必需的。
DataSource是一個(gè)由JDBC驅(qū)動(dòng)程序管理的包含數(shù)據(jù)庫連接信息的對(duì)象。DataSource與JNDI服務(wù)協(xié)作,數(shù)據(jù)庫連接的實(shí)例化和管理工作都獨(dú)立于使用它的應(yīng)用之外。與連接有關(guān)的信息,例如路徑和端口號(hào),可以在DataSource對(duì)象的屬性中方便地修改,無需改動(dòng)使用該數(shù)據(jù)源的應(yīng)用代碼。當(dāng)前,Sun收集的總共165個(gè)驅(qū)動(dòng)程序中有62個(gè)支持該特性。
JDBC支持連接池。所謂連接池,就是讓一些數(shù)據(jù)庫連接對(duì)象在緩沖池中保持打開狀態(tài),使得任何請(qǐng)求使用數(shù)據(jù)庫連接的應(yīng)用都能夠立即獲得數(shù)據(jù)庫連接,不再需要昂貴的網(wǎng)絡(luò)開銷聯(lián)系數(shù)據(jù)庫服務(wù)器取得連接,連接池會(huì)從本地緩沖池中取得空閑的連接賦予發(fā)出請(qǐng)求的Java應(yīng)用。當(dāng)應(yīng)用終止數(shù)據(jù)庫連接,數(shù)據(jù)庫連接實(shí)際上并未被拆除,而是返回給連接池緩沖區(qū)供其他應(yīng)用重用,從而有效地提升數(shù)據(jù)庫訪問性能。
在數(shù)據(jù)庫事務(wù)中,建立連接是資源開銷最大的操作。當(dāng)一個(gè)應(yīng)用試圖建立數(shù)據(jù)庫連接時(shí),需要多次網(wǎng)絡(luò)交互過程才能完成(例如,對(duì)于Oracle數(shù)據(jù)庫連接,這個(gè)數(shù)字是9)。然而,一旦成功建立了連接,把這個(gè)連接保留下來再在以后的操作中重用,開銷就要小得多。數(shù)據(jù)庫連接池特性大大提高了改進(jìn)數(shù)據(jù)傳輸性能和可伸縮性的潛力,對(duì)于應(yīng)用服務(wù)器來說尤其如此。Sun收集的JDBC驅(qū)動(dòng)程序中有62個(gè)支持連接池。
在分布式系統(tǒng)中,應(yīng)用常常需要用多個(gè)事務(wù)提取數(shù)據(jù),且數(shù)據(jù)往往來自多個(gè)數(shù)據(jù)源。要求有獨(dú)立的事務(wù)協(xié)調(diào)系統(tǒng)進(jìn)行協(xié)調(diào)的事務(wù)稱為分布式事務(wù)。對(duì)于Java數(shù)據(jù)庫開發(fā)者來說,除了JDBC驅(qū)動(dòng)程序的性能指標(biāo)之外,分布式事務(wù)支持也許是最重要的特性了。
分布式事務(wù)要求有額外的資源提供可靠的支持,這主要是由于從不同數(shù)據(jù)源提取數(shù)據(jù)的延遲不同,同時(shí)也由于存在著互操作的問題。例如,要區(qū)分一個(gè)失敗的事務(wù)和一個(gè)響應(yīng)緩慢的事務(wù)并不容易,這就要求DTS中的資源管理器以適當(dāng)?shù)姆绞阶?cè)并協(xié)調(diào)ROLLBACK或COMMIT操作,同時(shí)應(yīng)當(dāng)盡量地減少編程工作量。
一般地,分布式事務(wù)利用事務(wù)管理器(Transaction Manager)進(jìn)行不同資源管理器的協(xié)調(diào)工作。有了DTP(Distributed Transaction Processing)體系中的事務(wù)管理器提供應(yīng)用與資源的仲裁,就有可能為應(yīng)用提供跨越多個(gè)數(shù)據(jù)資源的ACID事務(wù)。
在需要多個(gè)步驟才能得出所需結(jié)果的場(chǎng)合,需要有一種軟件模塊,通常是事務(wù)管理器,協(xié)調(diào)各個(gè)處理過程,例如iPlanet Trustbase Transaction Manager就是這樣一個(gè)產(chǎn)品。當(dāng)前Sun收集的JDBC驅(qū)動(dòng)程序中有45個(gè)支持此特性。
RowSets(記錄集)對(duì)象是查詢的結(jié)果集,包含從表格式數(shù)據(jù)源獲取的記錄。RowSets擁有類似于JavaBean的屬性和事件提醒機(jī)制,同時(shí)它本身也是一個(gè)JavaBean組件,可以在開發(fā)環(huán)境中用編程的方式創(chuàng)建和使用。RowSets有連接的(Connected)和非連接的(Disconnected,或稱之為離線式的)兩種類型。非連接的記錄集在提取數(shù)據(jù)時(shí)需要連接到數(shù)據(jù)源,但處于非連接狀態(tài)時(shí)就不再需要JDBC驅(qū)動(dòng)程序。這種記錄集體積小,常用來把數(shù)據(jù)發(fā)送給瘦客戶端。非連接的記錄集保存在內(nèi)存中,同時(shí)保存的還有其原數(shù)據(jù)(Metadata)和連接以及執(zhí)行指令。與此相對(duì),連接的記錄集在被使用時(shí)總是保持一個(gè)打開的連接。當(dāng)前Sun收集的驅(qū)動(dòng)程序共有31個(gè)支持記錄集特性,這個(gè)數(shù)字相對(duì)較小,也許是由于該特性不是經(jīng)常要用到。
必須指出的是,Sun的JDBC網(wǎng)站把“支持”RowSets定義成JDBC驅(qū)動(dòng)程序本身正式打包和帶有RowSets,所以,這個(gè)網(wǎng)站上列出的一些驅(qū)動(dòng)程序可能沒有支持RowSets的標(biāo)記,但它們實(shí)際上卻支持多種RowSets。
JDBC 3.0規(guī)范定義了prepared statement pooling(把已準(zhǔn)備好的SQL語句放入緩沖池),當(dāng)前未被Sun加入到圖三的JDBC驅(qū)動(dòng)程序搜索工具,但可以確信它不久就會(huì)被作為一個(gè)可搜索的特性加入。從本質(zhì)上看,語句緩沖是把已經(jīng)優(yōu)化且已經(jīng)運(yùn)行過的SQL語句保存到緩沖池,一旦需要再次執(zhí)行,可以不必再進(jìn)行優(yōu)化之類的預(yù)處理過程。SQL語句池能夠顯著地提升性能,對(duì)于任何JDBC驅(qū)動(dòng)程序來說,它都是一個(gè)值得關(guān)注的亮點(diǎn)。
對(duì)于需要多次執(zhí)行的SQL語句,緩沖已準(zhǔn)備好的語句特別有用。舉例來說,如果一個(gè)查詢的功能是提取特定產(chǎn)品類別的當(dāng)前庫存值,每天都要頻繁地運(yùn)行多次,那么它就可以從語句緩沖獲益。再次執(zhí)行已緩沖的SQL語句時(shí),只需向查詢傳入?yún)?shù);所有的預(yù)處理步驟,例如語法檢查、目標(biāo)合法性檢查、優(yōu)化訪問路徑、優(yōu)化執(zhí)行計(jì)劃等,都已經(jīng)緩沖在內(nèi)存中。
對(duì)于開發(fā)者來說,語句緩沖池還有一個(gè)特別的優(yōu)點(diǎn),即它無需開發(fā)者編寫任何代碼(就如連接池一樣)。只要你采用了帶有語句池機(jī)制的驅(qū)動(dòng)程序,你就得到了語句緩沖帶來的性能優(yōu)勢(shì)。
只要JDBC驅(qū)動(dòng)程序支持,語句池和連接池可以在一個(gè)應(yīng)用中同時(shí)起作用。當(dāng)程序用到來自連接池的連接,所有以前曾經(jīng)運(yùn)行過SQL語句的連接會(huì)擁有已經(jīng)定義好的語句池。因此,即使應(yīng)用第一次利用某個(gè)連接準(zhǔn)備執(zhí)行SQL語句,也可能不需要SQL語句執(zhí)行前的準(zhǔn)備過程。
結(jié)束語
JDBC驅(qū)動(dòng)程序會(huì)對(duì)應(yīng)用的表現(xiàn)產(chǎn)生許多重大的影響。對(duì)于系統(tǒng)的整體性能來說,JDBC驅(qū)動(dòng)程序的特性實(shí)際上是一個(gè)關(guān)鍵性因素。不僅在企業(yè)級(jí)數(shù)據(jù)庫應(yīng)用中是這樣,對(duì)于要訪問分布式數(shù)據(jù)資源的應(yīng)用,這個(gè)問題就更加突出。
從長(zhǎng)遠(yuǎn)的眼光來看,當(dāng)你選擇驅(qū)動(dòng)程序時(shí),請(qǐng)把JDBC 3.0定義的特性,包括DataSource對(duì)象、連接池、分布式事務(wù)支持、RowSets、語句緩沖池等,作為選擇標(biāo)準(zhǔn)之一。只要有可能,就要選擇那些直接操作數(shù)據(jù)庫API的驅(qū)動(dòng)程序,而不要選擇那些經(jīng)過一層轉(zhuǎn)換后才與數(shù)據(jù)庫API交互的驅(qū)動(dòng)程序,因?yàn)榍罢咄哂休^好的性能表現(xiàn)。
如果性能和對(duì)Java標(biāo)準(zhǔn)的遵從性都是必不可少的考慮因素,驅(qū)動(dòng)程序非三、四兩類莫屬。找出那些支持最新版本規(guī)范、提供最豐富功能的JDBC驅(qū)動(dòng)程序,絕對(duì)是一件值得做的事情。另外還有一個(gè)需要考慮的因素是,個(gè)別JDBC驅(qū)動(dòng)程序提供了一些通常不會(huì)隨著DBMS本機(jī)驅(qū)動(dòng)程序提供的附加工具,這些工具可能會(huì)對(duì)你的開發(fā)工作產(chǎn)生重要影響。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java的數(shù)據(jù)庫連接編程(JDBC)技術(shù)
Java入門(13) More Java!
jdbc
第11章 數(shù)據(jù)庫應(yīng)用
《Java Web 應(yīng)用程序設(shè)計(jì)立體化教程》第5章數(shù)據(jù)庫訪問技術(shù)
Java開發(fā)入門到精通之Java的數(shù)據(jù)庫訪問
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服