首頁(yè)常見問(wèn)題正文

MySQL和JDBC:應(yīng)用程序如何通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)?

更新時(shí)間:2023-01-06 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在實(shí)際項(xiàng)目中,數(shù)據(jù)庫(kù)的操作都是通過(guò)程序完成的,不同的開發(fā)語(yǔ)言也都對(duì)不同的數(shù)據(jù)庫(kù)提供了支持,Java也不例外,它為了能夠操作數(shù)據(jù)庫(kù),提供了一套訪問(wèn)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)Java類庫(kù),即JDBC。

  JDBC(Java Database Connectivity)是一套用于執(zhí)行SQL語(yǔ)句的JavaAPI(主要位于java.sql包中),應(yīng)用程序通過(guò)這套API可以連接到關(guān)系型數(shù)據(jù)庫(kù),并使用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行填、刪、改、查等操作。

  不同類型的數(shù)據(jù)庫(kù)(如Oracle、MySQL)其內(nèi)部處理數(shù)據(jù)的方式是不同的,如果直接使用數(shù)據(jù)庫(kù)廠商提供的訪問(wèn)接口操作數(shù)據(jù)庫(kù),會(huì)導(dǎo)致應(yīng)用程序的可移植性變差。例如,當(dāng)前用戶使用的是Oracle提供的接口操作數(shù)據(jù)庫(kù),如果需要更換數(shù)據(jù)庫(kù),則需要重新編寫操作數(shù)據(jù)庫(kù)的部分代碼,這樣導(dǎo)致了程序的可移植性非常差。如果使用JDBC的API操作數(shù)據(jù)庫(kù)就不會(huì)出現(xiàn)這種情況。JDBC要求各個(gè)數(shù)據(jù)庫(kù)廠商按照統(tǒng)一標(biāo)準(zhǔn)提供數(shù)據(jù)庫(kù)驅(qū)動(dòng),應(yīng)用程序直接通過(guò)JDBC和數(shù)據(jù)庫(kù)驅(qū)動(dòng)連接數(shù)據(jù)庫(kù),開發(fā)人員就不需要了解底層數(shù)據(jù)庫(kù)的交互,大大提高了程序的可移植性。

  應(yīng)用程序通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程如圖16-32所示。

1672970134148_使用JDBC訪問(wèn)數(shù)據(jù)庫(kù).jpg

  圖16-32 使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)

  
       從圖16-32中可以看出,JDBC是連接Java程序與數(shù)據(jù)庫(kù)驅(qū)動(dòng)之間的橋梁,當(dāng)應(yīng)用程序使用JDBC訪問(wèn)某個(gè)數(shù)據(jù)時(shí),只需要通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)鏈接指定的數(shù)據(jù)庫(kù)即可,無(wú)須直接操作數(shù)據(jù)庫(kù)。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!