JDBC作為數(shù)據(jù)庫訪問的規(guī)范接口,其中只是定義一些接口。具體的實(shí)現(xiàn)是由各個(gè)數(shù)據(jù)庫廠商來完成。
一、重要的接口:
1.public interface Driver 每個(gè)驅(qū)動(dòng)程序類必須實(shí)現(xiàn)的接口。Java SQL 框架允許多個(gè)數(shù)據(jù)庫驅(qū)動(dòng)程序。每個(gè)驅(qū)動(dòng)程序都應(yīng)該提供一個(gè)實(shí)現(xiàn) Driver 接口的類。DriverManager 會(huì)試著加載盡可能多的它可以找到的驅(qū)動(dòng)程序,然后,對于任何給定連接請求,它會(huì)讓每個(gè)驅(qū)動(dòng)程序依次試著連接到目標(biāo) URL。強(qiáng)烈建議每個(gè) Driver 類應(yīng)該是小型的并且是單獨(dú)的,這樣就可以在不必引入大量支持代碼的情況下加載和查詢 Driver 類。在加載某一 Driver 類時(shí),它應(yīng)該創(chuàng)建自己的實(shí)例并向 DriverManager 注冊該實(shí)例。這意味著用戶可以通過調(diào)用以下程序加載和注冊一個(gè)驅(qū)動(dòng)程序 Class.forName("foo.bah.Driver")。例如:MYSQL驅(qū)動(dòng)
com.mysql.jdbc.Driver
2.public interface Connection 與特定數(shù)據(jù)庫的連接(會(huì)話)。在連接上下文中執(zhí)行 SQL 語句并返回結(jié)果。
3.public interface Statement 用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象。
4.public interface PreparedStatement 表示預(yù)編譯的 SQL 語句的對象。SQL 語句被預(yù)編譯并存儲(chǔ)在 PreparedStatement
對象中。然后可以使用此對象多次高效地執(zhí)行該語句。
二、驅(qū)動(dòng)的加載方式
1.最常用的是使用 Class.forName("com.mysql.jdbc.Driver");方式。這行代碼只是使用當(dāng)前的類加載去加載具體的數(shù)據(jù)庫驅(qū)動(dòng),不要小看這簡單的這一行代碼。在Driver類中的static域中把當(dāng)前驅(qū)動(dòng)注冊到DriverManager中。
<