婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JDBCTM 指南:入門2 - 連接

JDBCTM 指南:入門2 - 連接

熱門標簽:珠海銷售外呼系統(tǒng)運營商 電銷外呼系統(tǒng) 排行榜 地圖標注制作道路 廣州三五防封電銷卡 四川電信外呼系統(tǒng)靠譜嗎 長春回撥外呼系統(tǒng)廠家 地圖標注創(chuàng)業(yè)項目入駐 外呼系統(tǒng)啥意思 山東智能云外呼管理系統(tǒng)
內(nèi)容: 2 - 連接本概述是從《JDBCTM Database Access from JavaTM: A Tutorial
and Annotated Reference 》這本書中摘引來的。JavaSoft 目前正在準備這本書。這本書是一本教程,同時也是 JDBC 的重要參考手冊,它將作為 Java 系列的組成部份在 1997 年春季由 Addison-Wesley 出版公司出版。
2.1 概述
Connection 對象代表與數(shù)據(jù)庫的連接。連接過程包括所執(zhí)行的 SQL 語句和在該連接上所返回的結(jié)果。一個應(yīng)用程序可與單個數(shù)據(jù)庫有一個或多個連接,或者可與許多數(shù)據(jù)庫有連接。
2.1.1 打開連接與數(shù)據(jù)庫建立連接的標準方法是調(diào)用 DriverManager.getConnection
方法。該方法接受含有某個 URL 的字符串。DriverManager 類(即所謂的 JDBC 管理層)將嘗試找到可與那個 URL 所代表的數(shù)據(jù)庫進行連接的驅(qū)動程序。DriverManager 類存有已注冊的 Driver 類的清單。當(dāng)調(diào)用方法 getConnection 時,它將檢查清單中的每個驅(qū)動程序,直到找到可與 URL 中指定的數(shù)據(jù)庫進行連接的驅(qū)動程序為止。Driver 的方法 connect 使用這個 URL 來建立實際的連接。
用戶可繞過 JDBC 管理層直接調(diào)用 Driver 方法。這在以下特殊情況下將很有用:當(dāng)兩個驅(qū)動器可同時連接到數(shù)據(jù)庫中,而用戶需要明確地選用其中特定的驅(qū)動器。但一般情況下,讓 DriverManager 類處理打開連接這種事將更為簡單。
下述代碼顯示如何打開一個與位于 URL "jdbc:odbc:wombat" 的數(shù)據(jù)庫的連接。所用的用戶標識符為 "oboy" ,口令為 "12Java":
String url = "jdbc:odbc:wombat";
Connection con = DriverManager.getConnection(url, "oboy", "12Java");
2.1.2 一般用法的 URL由于 URL 常引起混淆,我們將先對一般 URL 作簡單說明,然后再討論 JDBC URL。
URL(統(tǒng)一資源定位符)提供在 Internet 上定位資源所需的信息。可將它想象為一個地址。
URL 的第一部份指定了訪問信息所用的協(xié)議,后面總是跟著冒號。常用的協(xié)議有 "ftp"(代表“文件傳輸協(xié)議”)和 "http" (代表“超文本傳輸協(xié)議”)。
如果協(xié)議是 "file",表示資源是在某個本地文件系統(tǒng)上而非在 Internet 上(下例用于表示我們所描述的部分;它并非 URL 的組成部分)。
ftp://javasoft.com/docs/JDK-1_apidocs.zip
http://java.sun.com/products/jdk/CurrentRelease
file:/home/haroldw/docs/books/tutorial/summary.html
URL 的其余部份(冒號后面的)給出了數(shù)據(jù)資源所處位置的有關(guān)信息。如果協(xié)議是 file,則 URL 的其余部份是文件的路徑。對于 ftp 和 http 協(xié)議,URL 的其余部份標識了主機并可選地給出某個更詳盡的地址路徑。例如,以下是 JavaSoft 主頁的 URL。該 URL 只標識了主機:
http://java.sun.com從該主頁開始瀏覽,就可以進到許多其它的網(wǎng)頁中,其中之一就是
JDBC 主頁。JDBC 主頁的 URL 更為具體,它看起來類似: http://java.sun.com/products/jdbc
2.1.3 JDBC URL JDBC URL 提供了一種標識數(shù)據(jù)庫的方法,可以使相應(yīng)的驅(qū)動程序能識別該數(shù)據(jù)庫并與之建立連接。實際上,驅(qū)動程序編程員將決定用什么 JDBC URL 來標識特定的驅(qū)動程序。用戶不必關(guān)心如何來形成 JDBC URL;他們只須使用與所用的驅(qū)動程序一起提供的 URL 即可。JDBC 的作用是提供某些約定,驅(qū)動程序編程員在構(gòu)造他們的 JDBC URL 時應(yīng)該遵循這些約定。
由于 JDBC URL 要與各種不同的驅(qū)動程序一起使用,因此這些約定應(yīng)非常靈活。首先,它們應(yīng)允許不同的驅(qū)動程序使用不同的方案來命名數(shù)據(jù)庫。例如, odbc 子協(xié)議允許(但并不是要求) URL 含有屬性值。第二,JDBC URL 應(yīng)允許驅(qū)動程序編程員將一切所需的信息編入其中。這樣就可以讓要與給定數(shù)據(jù)庫對話的 applet 打開數(shù)據(jù)庫連接,而無須要求用戶去做任何系統(tǒng)管理工作。
第三, JDBC URL 應(yīng)允許某種程度的間接性。也就是說,JDBC URL 可指向邏輯主機或數(shù)據(jù)庫名,而這種邏輯主機或數(shù)據(jù)庫名將由網(wǎng)絡(luò)命名系統(tǒng)動態(tài)地轉(zhuǎn)換為實際的名稱。這可以使系統(tǒng)管理員不必將特定主機聲明為 JDBC 名稱的一部份。網(wǎng)絡(luò)命名服務(wù)(例如 DNS、 NIS 和 DCE )有多種,而對于使用哪種命名服務(wù)并無限制。JDBC URL 的標準語法如下所示。它由三部分組成,各部分間用冒號分隔:
jdbc: 子協(xié)議 >: 子名稱 >JDBC URL 的三個部分可分解如下: jdbc ─ 協(xié)議。JDBC URL 中的協(xié)議總是 jdbc。
子協(xié)議> ─ 驅(qū)動程序名或數(shù)據(jù)庫連接機制(這種機制可由一個或多個驅(qū)動程序支持)的名稱。子協(xié)議名的典型示例是 "odbc",該名稱是為用于指定 ODBC 風(fēng)格的數(shù)據(jù)資源名稱的 URL 專門保留的。例如,為了通過 JDBC-ODBC 橋來訪問某個數(shù)據(jù)庫,可以用如下所示的 URL:
jdbc:odbc:fred本例中,子協(xié)議為 "odbc",子名稱 "fred" 是本地ODBC 數(shù)據(jù)資源。
如果要用網(wǎng)絡(luò)命名服務(wù)(這樣 JDBC URL 中的數(shù)據(jù)庫名稱不必是實際名稱),則命名服務(wù)可以作為子協(xié)議。例如,可用如下所示的 URL :
jdbc:dcenaming:accounts-payable本例中,該 URL 指定了本地 DCE 命名服務(wù)應(yīng)該將
數(shù)據(jù)庫名稱 "accounts-payable" 解析為更為具體的可用于連接真實數(shù)據(jù)庫的名稱。子名稱> ─ 一種標識數(shù)據(jù)庫的方法。子名稱可以依不同的子協(xié)議而
變化。它還可以有子名稱的子名稱(含有驅(qū)動程序編程員所選的任何內(nèi)部語法)。使用子名稱的目的是為定位數(shù)據(jù)庫提供足夠的信息。前
例中,因為 ODBC 將提供其余部份的信息,因此用 "fred" 就已足夠。然而,位于遠程服務(wù)器上的數(shù)據(jù)庫需要更多的信息。例如,如果數(shù)據(jù)庫是通過 Internet 來訪問的,則在 JDBC URL 中應(yīng)將網(wǎng)絡(luò)地址作為子名稱的一部份包括進去,且必須遵循如下所示的標準 URL 命名約定:
//主機名:端口/子協(xié)議假設(shè) "dbnet" 是個用于將某個主機連接到 Internet 上的協(xié)議,則 JDBC URL 類似:
jdbc:dbnet://wombat:356/fred 2.1.4 "odbc" 子協(xié)議
子協(xié)議 odbc 是一種特殊情況。它是為用于指定 ODBC 風(fēng)格的數(shù)據(jù)資源名稱的 URL 而保留的,并具有下列特性:允許在子名稱(數(shù)據(jù)資源名稱)后面指定任意多個屬性值。odbc 子協(xié)議的完整語法為: jdbc:odbc: 數(shù)據(jù)資源名稱 >[; 屬性名 >= 屬性值 >]*因此,以下都是合法的 jdbc:odbc 名稱: jdbc:odbc:qeor7jdbc:odbc:wombat
jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER
jdbc:odbc:qeora;UID=kgh;PWD=fooey2.1.5 注冊子協(xié)議驅(qū)動程序編程員可保留某個名稱以將之用作 JDBC URL 的子協(xié)議名。
當(dāng) DriverManager 類將此名稱加到已注冊的驅(qū)動程序清單中時,為之保留該名稱的驅(qū)動程序應(yīng)能識別該名稱并與它所標識的數(shù)據(jù)庫建立連接。例如,odbc 是為 JDBC- ODBC 橋而保留的。示例之二,假設(shè)有個 Miracle 公司,它可能會將 "miracle" 注冊為連接到其 Miracle DBMS 上的 JDBC 驅(qū)動程序的子協(xié)議,從而使其他人都無法使用這個名稱。JavaSoft 目前作為非正式代理負責(zé)注冊 JDBC 子協(xié)議名稱。要注冊某個子協(xié)議名稱,請發(fā)送電子郵件到下述地址:
jdbc@wombat.eng.sun.com2.1.6 發(fā)送 SQL 語句連接一旦建立,就可用來向它所涉及的數(shù)據(jù)庫傳送 SQL 語句。JDBC對可被發(fā)送的 SQL 語句類型不加任何限制。這就提供了很大的靈活性,即允許使用特定的數(shù)據(jù)庫語句或甚至于非 SQL 語句。然而,它要
求用戶自己負責(zé)確保所涉及的數(shù)據(jù)庫可以處理所發(fā)送的 SQL 語句,否則將自食其果。例如,如果某個應(yīng)用程序試圖向不支持儲存程序的 DBMS 發(fā)送儲存程序調(diào)用,就會失敗并將拋出異常。JDBC 要求驅(qū)動程序應(yīng)至少能提供 ANSI SQL-2 Entry Level 功能才可算是符合 JDBC 標準TM 的。這意味著用戶至少可信賴這一標準級別的功能。JDBC 提供了三個類,用于向數(shù)據(jù)庫發(fā)送 SQL 語句。Connection 接口中的三個方法可用于創(chuàng)建這些類的實例。下面列出這些類及其創(chuàng)建方法:
Statement ─ 由方法 createStatement 所創(chuàng)建。Statement 對象用于發(fā)送簡單的 SQL 語句。
PreparedStatement ─ 由方法 prepareStatement 所創(chuàng)建。
PreparedStatement 對象用于發(fā)送帶有一個或多個輸入?yún)?shù)( IN 參數(shù))
的 SQL 語句。PreparedStatement 擁有一組方法,用于設(shè)置 IN 參數(shù)的值。
執(zhí)行語句時,這些 IN 參數(shù)將被送到數(shù)據(jù)庫中。PreparedStatement 的實
例擴展了 Statement ,因此它們都包括了 Statement 的方法。
PreparedStatement 對象有可能比 Statement 對象的效率更高,因為它已被預(yù)編譯過并存放在那以供將來使用。
CallableStatement ─ 由方法 prepareCall 所創(chuàng)建。CallableStatement 對象
用于執(zhí)行 SQL 儲存程序 ─ 一組可通過名稱來調(diào)用(就象函數(shù)的調(diào)用那樣)的
SQL 語句。CallableStatement 對象從 PreparedStatement 中繼承了用于
處理 IN 參數(shù)的方法,而且還增加了用于處理 OUT 參數(shù)和 INOUT 參數(shù)的方法。
以下所列提供的方法可以快速決定應(yīng)用哪個 Connection 方法來創(chuàng)建不同類型的 SQL 語句: createStatement 方法用于:
簡單的 SQL 語句(不帶參數(shù)) prepareStatement 方法用于: 帶一個或多個 IN 參數(shù)的 SQL 語句 經(jīng)常被執(zhí)行的簡單 SQL 語句
prepareCall 方法用于: 調(diào)用已儲存過程2.1.7 事務(wù)事務(wù)由一個或多個這樣的語句組成:這些語句已被執(zhí)行、完成并被提交或還原。當(dāng)調(diào)用方法 commit 或 rollback 時,當(dāng)前事務(wù)即告就結(jié)束,另一個事務(wù)隨即開始。
缺省情況下,新連接將處于自動提交模式。也就是說,當(dāng)執(zhí)行完語句后,將自動對那個語句調(diào)用 commit 方法。這種情況下,由于每個語句都是被單獨提交的,因此一個事務(wù)只由一個語句組成。如果禁用自動提交模式,事務(wù)將要等到 commit 或 llback 方法被顯式調(diào)用時
才結(jié)束,因此它將包括上一次調(diào)用 commit 或 rollback 方法以來所有執(zhí)行過的語句。對于第二種情況,事務(wù)中的所有語句將作為組來提交或還原。方法 commit 使 SQL 語句對數(shù)據(jù)庫所做的任何更改成為永久性的,它還將釋放事務(wù)持有的全部鎖。而方法 rollback 將棄去那些更改。
有時用戶在另一個更改生效前不想讓此更改生效。這可通過禁用自動提交并將兩個更新組合在一個事務(wù)中來達到。如果兩個更新都是成功
,則調(diào)用 commit 方法,從而使兩個更新結(jié)果成為永久性的;如果其中之一或兩個更新都失敗了,則調(diào)用 rollback 方法,以將值恢復(fù)為進行更新之前的值。
大多數(shù) JDBC 驅(qū)動程序都支持事務(wù)。事實上,符合 JDBC 的驅(qū)動程序必須支持事務(wù)。DatabaseMetaData 給出的信息描述 DBMS 所提供的事務(wù)支持水平。2.1.8 事務(wù)隔離級別如果 DBMS 支持事務(wù)處理,它必須有某種途徑來管理兩個事務(wù)同時對一個數(shù)據(jù)庫進行操作時可能發(fā)生的沖突。用戶可指定事務(wù)隔離級別,以指明 DBMS 應(yīng)該花多大精力來解決潛在沖突。例如,當(dāng)事務(wù)更改了某個值而第二個事務(wù)卻在該更改被提交或還原前讀取該值時該怎么辦 假設(shè)第一個事務(wù)被還原后,第二個事務(wù)所讀取的更改值將是無效的,那么是否可允許這種沖突? JDBC 用戶可用以下代碼來指示 DBMS 允許在值被提交前讀取該值(“dirty 讀取”),其中 con 是當(dāng)前連接:
con.setTransactionIsolation(TRANSACTION_READ_UNCOMMITTED);
事務(wù)隔離級別越高,為避免沖突所花的精力也就越多。Connection 接口定義了五級,其中最低級別指定了根本就不支持事務(wù),而最高級別則指定當(dāng)事務(wù)在對某個數(shù)據(jù)庫進行操作時,任何其它事務(wù)不得對那個事務(wù)正在讀取的數(shù)據(jù)進行任何更改。通常,隔離級別越高,應(yīng)用程序執(zhí)行的速度也就越慢(由于用于鎖定的資源耗費增加了,而用戶間的并發(fā)操作減少了)。在決定采用什么隔離級別時,開發(fā)人員必須在性能需求和數(shù)據(jù)一致性需求之間進行權(quán)衡。當(dāng)然,實際所能支持的級別取決于所涉及的 DBMS 的功能。
當(dāng)創(chuàng)建 Connection 對象時,其事務(wù)隔離級別取決于驅(qū)動程序,但通常是所涉及的數(shù)據(jù)庫的缺省值。用戶可通過調(diào)用 setIsolationLevel方法來更改事務(wù)隔離級別。新的級別將在該連接過程的剩余時間內(nèi)生效。要想只改變一個事務(wù)的事務(wù)隔離級別,必須在該事務(wù)開始前進行設(shè)置,并在該事務(wù)結(jié)束后進行復(fù)位。我們不提倡在事務(wù)的中途對事務(wù)隔離級別進行更改,因為這將立即觸發(fā) commit 方法的調(diào)用,使在
此之前所作的任何更改變成永久性的。

標簽:玉樹 紹興 廣元 潮州 保定 肇慶 北海 吳忠

巨人網(wǎng)絡(luò)通訊聲明:本文標題《JDBCTM 指南:入門2 - 連接》,本文關(guān)鍵詞  JDBCTM,指南,入門,連接,JDBCTM,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JDBCTM 指南:入門2 - 連接》相關(guān)的同類信息!
  • 本頁收集關(guān)于JDBCTM 指南:入門2 - 連接的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99re66热这里只有精品3直播| 午夜成人免费电影| 中文字幕在线观看一区| av一区二区三区四区| 国产精品少妇自拍| 91在线视频免费91| 亚洲成人资源在线| 欧美不卡激情三级在线观看| 久久99精品国产.久久久久久| 久久女同性恋中文字幕| 免费av网站大全久久| 精品va天堂亚洲国产| 99久免费精品视频在线观看| 亚洲成人手机在线| 亚洲精品在线电影| 在线观看欧美精品| 国产麻豆视频一区| 午夜影院久久久| 国产欧美日韩精品在线| 在线亚洲一区二区| 国产资源在线一区| 日本中文一区二区三区| 国产精品成人免费| 久久久噜噜噜久噜久久综合| 欧美网站大全在线观看| 成人av网址在线观看| 蜜臀av国产精品久久久久| 樱花影视一区二区| 国产精品萝li| 91欧美激情一区二区三区成人| 成人一道本在线| 性欧美疯狂xxxxbbbb| 成人午夜视频在线| 欧美视频一区在线观看| 欧美一区二区在线视频| 91精品国产高清一区二区三区蜜臀| 欧美中文字幕亚洲一区二区va在线| 欧美一区二区日韩| 综合久久国产九一剧情麻豆| 亚洲视频你懂的| 亚洲精品大片www| 精品在线视频一区| 日韩一区二区三区视频| 中文字幕亚洲一区二区av在线| 国内外成人在线视频| 91在线观看视频| 亚洲综合在线第一页| 国产精品无遮挡| 精品国产91乱码一区二区三区| 欧美老肥妇做.爰bbww| 精品捆绑美女sm三区| 99vv1com这只有精品| 色综合av在线| 欧美日韩精品一区二区天天拍小说| www..com久久爱| av日韩在线网站| 97久久人人超碰| 在线观看www91| www.欧美色图| 99精品欧美一区二区蜜桃免费 | 91在线视频播放地址| 欧美性受极品xxxx喷水| 欧美成人伊人久久综合网| 国产日韩欧美a| 亚洲精品乱码久久久久久久久| 日韩精品亚洲一区| 粉嫩13p一区二区三区| 一本色道综合亚洲| 精品久久久三级丝袜| 欧美精品一区二区三区高清aⅴ | 日韩一区二区电影网| 国产精品热久久久久夜色精品三区| 亚洲欧美电影院| 成人精品免费视频| 制服丝袜日韩国产| 亚洲激情自拍视频| 国产成人精品影院| 日韩欧美亚洲一区二区| 亚洲靠逼com| 91丨porny丨在线| 成人小视频免费在线观看| 日韩欧美一级片| 午夜精品久久久久久久久久久 | 日韩av不卡一区二区| 国产馆精品极品| 欧美成人综合网站| 麻豆精品在线看| 欧美成人vps| 久久97超碰色| 日韩一区二区三| 日本不卡一区二区| 欧美在线视频全部完| 国产精品久久久久久久久免费樱桃 | 国产成人福利片| 国产精品美女久久久久久久| 在线观看日产精品| 亚洲一二三四在线| 韩国女主播成人在线| 欧美精品一区二区三区在线 | 精品人伦一区二区色婷婷| 日本中文字幕一区二区视频 | 亚洲一区二区三区四区五区黄| 色狠狠桃花综合| 久热成人在线视频| 亚洲国产日韩在线一区模特| 精品久久久久av影院| eeuss鲁一区二区三区| 亚洲午夜免费视频| 久久亚洲一区二区三区四区| 欧美三级视频在线| 成人免费av资源| 久久av资源网| 亚洲成av人片| 亚洲丝袜另类动漫二区| 亚洲女同女同女同女同女同69| 国产91丝袜在线18| 一区二区三区精品在线观看| 精品国产凹凸成av人导航| 欧美综合欧美视频| 免费成人美女在线观看.| 亚洲综合色自拍一区| 欧美不卡一区二区三区四区| 欧美精品在欧美一区二区少妇| 国产成人综合网站| 蜜臀久久99精品久久久久宅男| 日韩成人免费看| 亚洲日穴在线视频| 久久在线观看免费| 精品理论电影在线| 日韩欧美国产不卡| 久久午夜羞羞影院免费观看| 欧美电视剧免费观看| 久久久久久影视| 国产午夜亚洲精品理论片色戒| 精品福利一二区| 中文字幕一区二区三区在线不卡| 久久综合99re88久久爱| 欧美大白屁股肥臀xxxxxx| 久久久精品tv| 欧美国产1区2区| 一区二区不卡在线视频 午夜欧美不卡在 | 韩国精品主播一区二区在线观看| 午夜欧美电影在线观看| 国产激情视频一区二区三区欧美| 不卡av在线免费观看| 国产99久久精品| 91在线视频免费91| 91精品免费在线| 久久免费偷拍视频| |精品福利一区二区三区| 国产精品久久久一本精品| 国产精品视频一二| 国产精品久久久久久久久免费丝袜| 最新欧美精品一区二区三区| 国产午夜精品一区二区| 亚洲欧洲日产国产综合网| 亚洲男人的天堂一区二区| 亚洲国产精品一区二区www| 精品1区2区在线观看| 亚洲一级电影视频| 经典三级在线一区| 国产成人亚洲精品狼色在线 | 91麻豆国产福利在线观看| 日韩一区二区免费在线电影| 精品成人一区二区三区四区| 综合久久一区二区三区| 日本在线不卡视频| 91久久精品一区二区二区| 欧美高清精品3d| 国产精品美女久久久久av爽李琼 | 欧美性三三影院| 精品处破学生在线二十三| 国产精品国产成人国产三级| 国产亚洲欧美在线| 国产91精品一区二区麻豆网站 | 不卡视频在线观看| 7777精品伊人久久久大香线蕉完整版 | 岛国一区二区三区| 欧美精品精品一区| 亚洲欧美日韩国产一区二区三区| 日本午夜一本久久久综合| 欧美日韩一级大片网址| 综合色天天鬼久久鬼色| 国产区在线观看成人精品| 麻豆高清免费国产一区| 日本一区二区免费在线观看视频| 日韩精品一二三四| 欧美蜜桃一区二区三区| 全部av―极品视觉盛宴亚洲| 成人午夜看片网址| 中文字幕电影一区| 成人av在线播放网址| 中文字幕av一区二区三区免费看| 日日夜夜精品视频天天综合网| 欧美亚日韩国产aⅴ精品中极品| 夜夜嗨av一区二区三区网页 | 成人欧美一区二区三区黑人麻豆| 91影院在线免费观看| 午夜欧美大尺度福利影院在线看| 91久久精品一区二区|