JDBC概念
- JDBC (Java Database Connectivity) API,即Java數(shù)據(jù)庫編程接口;
- 是一組標準的Java語言中的
接口和類,使用這些接口和類,Java客戶端程序可以訪問各種不同類型的數(shù)據(jù)庫; - JDBC規(guī)范采用
接口和實現(xiàn)分離的思想設計了Java數(shù)據(jù)庫編程的框架。 - 接口包含在
java.sql及javax.sql包中,其中java.sql屬于JavaSE,javax.sql屬于JavaEE。這些接口的實現(xiàn)類叫做數(shù)據(jù)庫驅(qū)動程序,由數(shù)據(jù)庫的廠商或其它的廠商或個人提供。 - 為了使客戶端程序獨立于特定的數(shù)據(jù)庫驅(qū)動程序,JDBC規(guī)范建議開發(fā)者使用基于
接口的編程方式,即盡量使應用僅依賴java.sql及javax.sql中的接口和類;
image.png
JDBC類結構

image.png
-
DriverManager:這個是一個實現(xiàn)類,它是一個工廠類,用來生產(chǎn)Driver對象的; - 這個類的結構設計模式為工廠方法
-
Driver:這是驅(qū)動程序?qū)ο蟮慕涌?它指向一個實實在在的數(shù)據(jù)庫驅(qū)動程序?qū)ο?/code>,那么這個數(shù)據(jù)庫驅(qū)動程序?qū)ο笫菑哪睦飦淼哪? -
DriverManager工廠中有個方法:getDriver(String URL),通過這個方法可以得到驅(qū)動程序?qū)ο?這個方法是在各個數(shù)據(jù)庫廠商按JDBC規(guī)范設計的數(shù)據(jù)庫驅(qū)動程序包里的類中靜態(tài)實現(xiàn)的,也就是在靜態(tài)塊中; -
Connection:這個接口可以指向一個數(shù)據(jù)庫連接對象,通過DriverManager工廠中的getConnection(String URL)方法得到的; 每次調(diào)用該方法,都是創(chuàng)建一個新的數(shù)據(jù)庫連接,很消耗資源 -
Statement:用于執(zhí)行靜態(tài)的SQL語句的接口,通過Connection中的createStatement方法得到的; -
Resultset:用于指向結果集對象的接口,結果集對象是通過Statement中的execute等方法得到的;
JAVA使用JDBC訪問數(shù)據(jù)庫的步驟:
- 得到數(shù)據(jù)庫驅(qū)動程序
- 創(chuàng)建數(shù)據(jù)庫連接
- 執(zhí)行SQL語句
- 得到結果集
- 對結果集做相應的處理(增,刪,改,查)
-
關閉資源:這里釋放的是DB中的資源
image.png

