JDBC入門基礎篇

javaprogramers發表於2006-05-13
本來不想寫這部份入門級的內容,但既然欄目定為JDBC專欄,還是簡單寫一些吧.
JDBC基礎(一)

    來,我們認識一下!
    JDBC,JAVA平臺的DATABASE的連通性.白話一句,什麼意思啊?
    就是JAVA平臺上和資料庫進行連結的/"工具/".

    還是先一起來回顧一下介面吧:從下向上,介面是對/"案例/"的抽象,由一個案例抽象出一些規則.
反過來,從上向下,被抽象出來的介面是對案例的一種承諾和約束.
    也就是說,只要你實現我規定的介面,你的類就已經具有了介面對外承諾的方法,只要/"客戶/"會
操作介面,不需要重新學習就會操作實現了該介面的新類!
    好了,用行話來說:
 1.通過介面可以實現不相關的類的相同行為.
 2.通過介面可以指明多個類需要實現的方法.
 3.通過介面可以瞭解物件的互動方法而不需要了解物件所對應的類藍本.
    這幾句話很明白吧?好象有一本什麼模式的書把這段話用了30多頁寫出來,結果別人看了還不如
我這幾句話明白,不過我明白了為什麼有些人要寫書了.

    搞懂了以上這東西,JDBC就好明白了.
    為了通用,JAVA中要求有一種機制,在操作不同廠商資料庫時有相同的方法去操作,而不是每接
觸一種資料庫就要學習新的方法.完成這種機制的/"東西/"就叫/"JDBC/"了.
    簡單地分,JDBC有兩部分組成,JDBC API和JDBC Driver Interface.
    JDBC API就是提供給/"客戶/"(就是象你我這種菜鳥級程式設計師來用的,如果是高手都自己寫JDBC了,
哈哈)的一組獨立於資料庫的API,對任何資料庫的操作,都可以用這組API來進行.那麼要把這些通用的API
翻譯成特定資料庫能懂的/"指令/",就要由JDBC Driver Interface來實現了,所以這部份是面向JDBC驅動程
序開發商的程式設計介面,它會把我們通過JDBC API發給資料庫的通用指令翻譯給他們自己的資料庫.


    還是通過實際操作來看看JDBC如何工作的吧.

    因為JDBC API是通用介面,那麼程式是如何知道我要連結的是哪種資料庫呢?所以在和資料庫連
結時先要載入(或註冊可用的Driver),其實就是JDBC簽名.載入驅動程式和好多方法,最常用的就是先把驅
動程式類溶解到記憶體中,作為/"當前/"驅動程式.注意/"當前/"是說記憶體中可以有多個驅動程式,但只有現在加
載的這個作為首選連結的驅動程式.
    Class.forName(/"org.gjt.mm.mysql.Driver/");
    Class.forName方法是先在記憶體中溶解簽名為/"org.gjt.mm.mysql.Driver/"的Driver類,Driver類
就會把相應的實現類對應到JDBC API的介面中.比如把org.gjt.mm.mysql.Connection的例項物件賦給
java.sql.Connection介面控制程式碼,以便/"客戶/"能通過操作java.sql.Connection控制程式碼來呼叫實際的
org.gjt.mm.mysql.Connection中的方法.之於它們是如果對映的,這是廠商程式設計的,/"客戶/"只要呼叫
Class.forName(/"org.gjt.mm.mysql.Driver/");方法就可以順利地操作JDBC API了.

    一個普通資料庫的連結過程為:
    1.載入驅動程式.
    2.通過DriverManager到得一個與資料庫連結的控制程式碼.
    3.通過連結控制程式碼繫結要執行的語句.
    4.接收執行結果.
    5.可選的對結果的處理.
    6.必要的關閉和資料庫的連結. 

相關文章