更新時間:2021-02-20 16:53:07 來源:動力節(jié)點 瀏覽1457次
說到JDBC我們都不陌生,但對于一些Java初學者來說還是不太清楚JDBC是什么。我們在Java術語中說的JDBC其實就是Java數(shù)據(jù)庫連接(Java Database Connectivity),是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。當然,這只是JDBC的文字定義,更多的還需要我們去理解JDBC到底是什么。
JDBC也是Sun Microsystems的商標,我們通常說的JDBC是面向關系型數(shù)據(jù)庫的。SUN公司提供的一種數(shù)據(jù)庫訪問規(guī)則、規(guī)范,由于數(shù)據(jù)庫種類較多,并且java語言使用比較廣泛,sun公司就提供了一種規(guī)范,讓其他的數(shù)據(jù)庫提供商去實現(xiàn)底層的訪問規(guī)則。我們的java程序只要使用sun公司提供的jdbc驅動即可。
通俗一點來說,作為一個Java程序員,在開發(fā)項目時肯定會涉及到對數(shù)據(jù)庫的增刪改查。但是我們知道市面上的DBMS不止一個,如MySQL、Oracle、DB2、SQLite。當我們使用MySQL時,需要寫操作MySQL的Java代碼。當使用Oracle時,需要寫操作Oracle的Java代碼……
這樣太麻煩,學習成本太高。所以我們能不能只使用一種Java代碼,就可以操作不同的數(shù)據(jù)庫?答案當然是肯定的,而且很早就已經由oracle公司給出了答案。
Oracle公司編寫了一套如何訪問及操作數(shù)據(jù)庫的API,Java程序員使用這套API操作數(shù)據(jù)庫,這套API就是JDBC。JDBC為程序員指定了一組在編寫SQL請求時使用的面向對象的類。還有一組附加的類描述了JDBC驅動API。能映射成Java數(shù)據(jù)類型的最普通的SQL數(shù)據(jù)類型都是支持的。這個API提供了微軟事務服務器請求的執(zhí)行支持以及提交和回滾到事務開始的能力。
這套API是規(guī)范,每個數(shù)據(jù)庫廠商都遵守,并由各個數(shù)據(jù)庫廠商來實現(xiàn)JDBC的實現(xiàn)類。這些實現(xiàn)類又稱作驅動類。
JDBC是Java語言中用來規(guī)范客戶端如何程序如何來訪問數(shù)據(jù)庫的應用程序接口(API),提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。
數(shù)據(jù)庫種類太多,程序員學起來,用起來太麻煩。所以,官方提供了一套API即JDBC作為規(guī)范。廠商和程序員都遵守它,數(shù)據(jù)庫廠商實現(xiàn)API,程序員使用這一套接口編程。以MySQL為例,MySQL廠商將實現(xiàn)類即驅動,將其打包成了jar包mysql-connector-java-x.x.x供我們使用。這樣就出現(xiàn)了多態(tài),我們使用JDBC這套API編程,導入mysql-connector-java-x.x.xjar包,實際上執(zhí)行的是我們jar中實現(xiàn)類的方法。
看到這里,我們多多少少對JDBC有了一定的了解,相要回答JDBC是什么的問題,輕而易舉。也有可能我們對JDBC的理解程度不同,但JDBC的本質是不變的,實際上就是一套能夠訪問及操作各種數(shù)據(jù)庫的API。在本站的JDBC教程中,有JDBC的實戰(zhàn)精講課程,能夠有效幫助我們快速掌握JDBC的知識。