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