使用JDBC開發數據庫應用程序

使用JDBC開發數據庫應用程序:

        JDBC API是一個Java應用程序接口,作用是一般化SQL數據庫,使Java開發者能夠通過統一的接口開發獨立於DBMS的Java應用程序,JDBC最大的特點是無論後臺是何種數據庫。對於Java程序員而言,他的工作方式完全相同。JDBC爲許多不同的數據庫連接模塊的前端提供了統一的接口。

        JDBC API 由類和接口構成,這些類和接口用於建立數據庫的連接、把SQL語句發送到數據庫、處理SQL語句的結果以及獲取數據庫的元數據。使用Java開發任何數據庫應用程序都需要4個主要接口:Driver、Connection、Statement和ResultSer。這些接口定義了使用SQL訪問數據庫的一般架構。JDBC API定義了這些接口。JDBC驅動程序開發商爲這些接口提供實現。程序員使用這些接口。

         這些接口的關係如圖所示,JDBC應用程序使用Driver接口加載一個合適的驅動,使用Connection接口加載一個合適的驅動程序,使用Connection接口連接到數據庫,使用Statement接口創建和執行SQL語句,如果語句返回結果的話,使用ResultSet接口處理結果。注意,有一些語句不返回結果,例如,SQL數據定義語句和SQL數據修改語句。

                                               

                                                JDBC類能夠讓Java程序連接到數據庫,發送SQL語句並處理結果

       


JDBC接口和類是開發Java數據庫程序的構造模塊。訪問數據庫的典型Java程序主要採用下列步驟:

1.加載驅動程序

      在連接到數據庫之前,必須使用下面的語句,加載一個合適的驅動程序:

      Class.forName("JDBCDriverClass");

      驅動程序是一個實現接口java.sql.Driver的具體類。

      下表列出了Access、MySQL和Oracle的驅動程序:

                                                                               JDBC驅動程序


 注意: 要使用驅動程序,必須將相關的jar包加載到類路徑(classpath)中。

           jar包中包含許多支持驅動的類。這些類由JDBC使用,但不直接由JDBC程序員使用。當你在程序中明確使用某個類時,它被JVM自動加載。但是在程序中不顯示地使用驅動程序類,因此,必須編寫代碼告訴JVM加載它們。

           Java6支持驅動程序的自動加載,因此不需要顯示地加載它們。但是,並不是所有的驅動程序都有這個特性。我了安全起見,應該顯示加載驅動程序。

           這種連接方式的優點是:無需在客戶端或者服務器端安裝特殊軟件,而且這些驅動程序可以被動態下載。

2.建立連接:

           爲了連接到一個數據庫,需要使用DriverManager類中的靜態方法getConnection(databaseURL),如下所示:

           Connection connection=DriverManager.getConnection(databaseURL);

           其中databaseURL是數據庫在Internet上的唯一標識符。下表列出了Access、MySQL、Oracle的URL

                                                                    JDBC的URL


              MySQL數據庫的databaseURL指定定位數據庫的主機名和數據庫名。例如下面的語句以用戶名admin和密碼admin,爲本地MySQL數據庫創建一個Connection對象,假設要使用的數據庫名爲Javabook:

               Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/javabook","admin","admin");


3.創建語句

            如果把一個Connection對象想象成一條連接程序和數據庫的纜道,那麼Statement對象或它的子類可以看作一輛纜車,它爲數據庫傳輸SQL語句,並把運行結果返回程序。一旦創建了Connection對象,就可以創建執行SQL語句的語句。

            Statement statement=connection.createStatement();

4.執行語句

            可以使用方法executeUpdate(String  sql)來執行SQL DDL(數據庫定義語言)或更新語句,可以使用executeQuery(String sql)來執行SQL查詢語句。查詢結果在ResultSet中返回。例如下面的代碼執行SQL語句create table Temp(col1 char(5),col2 char(5))

            statement.executeUpdate("create table Temp(col1 char(5),col2 char(5))");

        下面的代碼執行SQL查詢功能:

            ResultSet resultSet=statement.executeQuery("select * from Student");



發佈了60 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章