更新時(shí)間:2023-01-06 來源:黑馬程序員 瀏覽量:
在實(shí)際項(xiàng)目中,數(shù)據(jù)庫的操作都是通過程序完成的,不同的開發(fā)語言也都對不同的數(shù)據(jù)庫提供了支持,Java也不例外,它為了能夠操作數(shù)據(jù)庫,提供了一套訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)Java類庫,即JDBC。
JDBC(Java Database Connectivity)是一套用于執(zhí)行SQL語句的JavaAPI(主要位于java.sql包中),應(yīng)用程序通過這套API可以連接到關(guān)系型數(shù)據(jù)庫,并使用SQL語句對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行填、刪、改、查等操作。
不同類型的數(shù)據(jù)庫(如Oracle、MySQL)其內(nèi)部處理數(shù)據(jù)的方式是不同的,如果直接使用數(shù)據(jù)庫廠商提供的訪問接口操作數(shù)據(jù)庫,會導(dǎo)致應(yīng)用程序的可移植性變差。例如,當(dāng)前用戶使用的是Oracle提供的接口操作數(shù)據(jù)庫,如果需要更換數(shù)據(jù)庫,則需要重新編寫操作數(shù)據(jù)庫的部分代碼,這樣導(dǎo)致了程序的可移植性非常差。如果使用JDBC的API操作數(shù)據(jù)庫就不會出現(xiàn)這種情況。JDBC要求各個(gè)數(shù)據(jù)庫廠商按照統(tǒng)一標(biāo)準(zhǔn)提供數(shù)據(jù)庫驅(qū)動,應(yīng)用程序直接通過JDBC和數(shù)據(jù)庫驅(qū)動連接數(shù)據(jù)庫,開發(fā)人員就不需要了解底層數(shù)據(jù)庫的交互,大大提高了程序的可移植性。
應(yīng)用程序通過JDBC訪問數(shù)據(jù)庫的過程如圖16-32所示。
圖16-32 使用JDBC訪問數(shù)據(jù)庫
從圖16-32中可以看出,JDBC是連接Java程序與數(shù)據(jù)庫驅(qū)動之間的橋梁,當(dāng)應(yīng)用程序使用JDBC訪問某個(gè)數(shù)據(jù)時(shí),只需要通過數(shù)據(jù)庫驅(qū)動鏈接指定的數(shù)據(jù)庫即可,無須直接操作數(shù)據(jù)庫。