靳晉
德州職業技術學院 山東德州 253034
JDBC技術淺析
靳晉
德州職業技術學院 山東德州 253034
JDBC是J2EE的一個重要組成部分,也是軟件開發人員經常使用的一項重要技術。掌握JDBC對于Java軟件開發人員來說,是一個非常重要的技能。
JDBC;API;連接池
JDBC即Java DataBase Connectivity,它是由一系列Java接口規范組成的、用于訪問數據庫的標準。JDBC是由Sun定義的一組接口,由數據庫廠商來實現,規定了Java開發人員訪問數據庫所使用的方法的調用規范。
Java語言自1995年正式公布后,風靡全球,出現大量用Java語言編寫的程序,其中包括數據庫應用程序。JDBC是Java與數據庫的接口規范,它由一些Java語言編寫的類和接口組成,旨在讓各數據庫開發商為Java程序員提供標準的數據庫API。目前比較常見的JDBC驅動程序可分為4種類型。
第一種類型的驅動程序的實現是通過將JDBC的調用全部委托給其他編程接口來實現的,比如ODBC。這種類型的驅動程序需要安裝本地代碼庫,即依賴于本地的程序,所以便攜性較差,比如JDBC-ODBC橋驅動程序。
第二種類型的驅動程序的實現是部分基于Java語言的,即該驅動程序一部分是用Java語言編寫,其他部分委托本地的數據庫的客戶端代碼來實現。
第三種類型的驅動程序的實現是全部基于Java語言的,該類型的驅動程序通常由某個中間件服務器提供,這樣客戶端程序可以使用與數據庫無關的協議和中間件服務器進行通信,中間件服務器再將客戶端的JDBC調用轉發給數據庫進行處理。
第四種類型的驅動程序的實現是全部基于Java語言的,該類型的驅動程序中包含特定數據庫的訪問協議,使得客戶端可以直接和數據庫進行通信。
JDBC定義了一個支持標準SQL功能的通用低層的應用程序編程接口(API),JDBC API的核心組件有DriverManager類、Connection接口、Statement接口和ResultSet接口。4個接口的作用:1)DriverManager類用于跟蹤JDBC驅動程序并生成數據庫連接;2)Connection接口用于取得數據庫信息,生成數據庫語句并管理數據庫連接;3)Statement接口在基層連接運行SQL語句,生成結果集;4)ResultSet接口用于訪問SQL語句返回的數據,在讀取結果時可以使用next()方法定義每行數據并通過get()方法讀取數據。
JDBC主要用于數據庫連接,下面是其訪問數據庫的步驟。
1)將數據庫的JDBC驅動加載到classpath中,在基于JAVAEE的Web應用實際開發過程中,通常要把目標數據庫產品的JDBC驅動復制到WEB-INF/lib下。
2)加載JDBC驅動,并將其注冊到DriverManager中,以SQLServer數據庫連接為例, Java代碼如下:

5)執行SQL語句。
6)訪問結果記錄集ResultSet對象。
7)依次將ResultSet、Statement、PreparedStatement、Connection對象關閉,釋放所占用的資源。
注意:最后兩個步驟必須要做,因為這些資源不會自動釋放,必須要自己關閉。
JDBC事務處理可以通過setAutoCommit()來設定自動提交事務,也可以通過Statement的addBatch()、executeBatch()的方式來批量處理操作并執行事務。
JDBC數據連接池允許在一個項目中,根據配置,指向不同類型的不同數據庫,這樣可以實現數據的分布式存儲,從而更高效地與后臺交互。JDBC連接池可以定義數據庫的最大(小)連接數、數據超時等。
Java語言及其技術是當今世界程序設計語言的主流,應用Java技術實現數據庫應用系統是未來的發展方向。JDBC隨著Java的發展,會更完善成熟,發揮更重要的作用。
TP311.13
B
1671-489X(2011)03-0091-01
10.3969/j.issn.1671-489X.2011.03.091