跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 Java資料庫連接 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
Java資料庫連接
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''Java 資料庫連接''',('''Java Database Connectivity''',簡稱'''JDBC''')是 Java 語言中央用來規範客戶捀程式按怎來存取資料庫的應用程式介面,提供了諸如查詢佮更新的資料庫內底資料的方法。JDBC 嘛是啦 Sun Microsystems 的商標。JDBC 是面向關係型資料庫的。 佇咧 J 二 SE 中,提供一个稱為 JDBC-ODBC 橋(JDBC-ODBC Bridge)的 API。通過 ODBC,JDBC-ODBC 橋驅動程式會當存取所有支援 ODBC 的關係型資料庫。佮 JDBC API 無仝的是,這个驅動程式並毋是由著 Java 磅落來是由機器碼(machine code)編寫,並且毋是開放原始碼的。 ==驅動程式類型== JDBC 驅動程式共分四種類型: ===類型一:JDBC-ODBC 橋=== 這種類型的驅動共所有的 JDBC 彼个呼叫傳遞予 ODBC,閣予後者呼叫資料庫本地驅動程式碼(也就是資料庫廠商提供的資料庫操作二進位程式碼庫,比如講 Oracle 中的 oci . dll)。 優點: * 只要有對應的 ODBC 驅動(大部份的資料庫廠商攏會提供), 差不多會當存取所有的資料庫。 缺點: * 執行效率較低,無適合大數據量存取的應用; * 因為需要客戶捀預裝對應的 ODBC 驅動,無合 Internet / Intranet 應用。 ===類型二:在地 API 驅動=== 這種類型的驅動通過客戶捀載入資料庫廠商提供的本地程式碼庫(C/C + + 等)來存取資料庫,佇驅動程式內底包括矣 Java 程式碼。 優點: * 速度強欲第一類驅動(毋過猶是比袂著第三、第四類驅動)。 缺點 * 因為需要客戶捀預裝對應的資料庫廠商程式碼庫,猶原無適合 Internet / Intranet 應用。 ===類型三:網路協定驅動=== 這種類型的驅動予客戶捀提供一个網路 API,客戶捀起來的 JDBC 驅動程式使用通訊端(Socket)來呼籲侍服器上的中介軟體程式,者咧共請求轉化做所需要的具體 API 搧叫。 優點: * 無需要佇客戶捀載入資料庫廠商提供的程式碼庫,單位驅動的程式會當對濟資料庫來進行存取,可延伸性較好。 缺點: * 佇中介軟體層猶原需對最終資料進行組態; * 因為加出一个中介軟體層,速度不如第四類驅動程式。 ===類型四:本地協定驅動=== 這種類型的驅動使用 Socket,直接佇客戶捀佮資料庫通批。 優點: * 存取速度上緊; * 這是上直接、上蓋純粹的 Java 實現。 缺點: * 會用得干焦資料庫廠商家己才會用得提供這種類型的 JDBC 驅動。 * 需要針對無仝的資料庫使用無仝的驅動程式。 ==API 概述== _ 參看 Java SE 以及 java . sql API _ JDBC API 主要是欲位於 JDK 中的 java . sql 包著(了後擴充的內容佇咧 javax . sql 包著), 主要包括講(斜體代表介面,需要趕動程式提供者來具體實現): * DriverManager:負責載入各種無仝趕動的程式(Driver), 並無仝款的請求,向呼叫者返回相應的資料庫連接(Connection)。 * _ Driver _:驅動程式,會共自身載入到 DriverManager 中去,閣處理相應的請求並且倒轉去相應的資料庫連接(Connection)。 * _ Connection _:資料庫連接,負責進行佮資料庫間的通訊,SQL 執行以及事務處理攏是佇咧某一个特定 Connection 環境中進行的。會當產生用執行 SQL 的 Statement。 * _ Statement _:用以執行 SQL 查詢猶閣更新(針對靜態 SQL 語句佮單擺執行)。 * _ PreparedStatement _:用以執行包含動態參數的 SQL 查詢猶閣更新(咧侍服器捀編譯,允准重複執行以提高效率)。 * _ CallableStatement _:用呼叫資料庫內底的儲存程序。 * SQLException:代表佇資料庫連接的建立佮關係佮關係 SQL 語句的執行過程中發生了例外的情況(即錯誤)。 ===資料類型的對映=== 註:這款類型匹配毋是強制性標準,特定的 JDBC 廠商可能會改變這種類型匹配。比如講 Oracle 中的 DATE 類型是包括時分秒,而且 java . sql . Date 干焦支援年月日。 ==例== 利用 Class . forName ( ) 方法來載入 JDBC 驅動程式(_ Driver _)至 DriverManager: 然後,對 DriverManager 中,通過 JDBC URL,使用者名稱,密碼來取相應的資料庫連接(_ Connection _): 無仝的 JDBC 驅動程式的 URL 是無仝款的,伊永遠以「jdbc:」 開始,毋過後壁的內容照驅動程式類型無仝而各異。佇咧揣 _ Connection _ 了後,就會當建立 _ Statement _ 用以執行 SQL 語句。下底是一个插入去(INSERT)的例: 查詢(SELECT)的結果囥佇結果集(_ ResultSet _)中,會當照順序依次存取: 猶毋過,通常,Java 程式設計師閣較傾向著使用 _ PreparedStatement _。下跤的例使用頂例中的 conn 東西: 抑若資料庫操作失敗,JDBC 將擲一个 SQLException。一般來講,這種類異常真少會當恢復,唯一會當做的就是盡量詳細的列印異常日記。推薦的做法是將 SQLException 翻譯成應用程式領域相關的異常(非強制處理異常)並且最後回滾的資料庫閣通知使用者。 一个資料庫的事務代碼如下: ==參考文獻== ==外部連結== * Sun 提供的 JDBC 驅動程式佮其供應商列表 * Sun 提供的教程 * Sun Java 二一孵四 . 二 API * 一个訂單系統的原形 * DBAccessor : JDBC 資料庫存取封裝類 * 開源的 JDBC 驅動程式列表 * http : / / blog . csdn . net / cho 三 en 一 / article / details / 五千兩百六十九鋪五千八百空八 ==參見== * 資料庫 * Java * J 二 SE * J 二 EE * ODBC * ADO * ADO . NET [[分類: 待校正]]
返回到「
Java資料庫連接
」。