淺析JDBC常用的類和接口——JDBC的Driver接口、DriverManager類、Connection接口
后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料
大家好,我是Java進階者。今天給大家繼續(xù)分享JDBC技術(shù)。
一、前言
在《Java的數(shù)據(jù)庫訪問》文章介紹了JDBC技術(shù),在不同的數(shù)據(jù)庫需要不同的驅(qū)動程序。本文主要給大家介紹怎么使用Java連接數(shù)據(jù)庫,接下來帶大家一起來學(xué)習(xí)!
二、Driver接口
1.在JDBC中,每個驅(qū)動程序一般會提供一個實現(xiàn)Dirver接口的類。當(dāng)你在加載某一個Driver類,它自己實例化并向DriverManager注冊這個實例。這就是意味著用戶可以使用Class.forName()方法來調(diào)用程序加載和注冊一個驅(qū)動程序。
2.Driver常用方法
| 常用方法 |
|---|
| 1)Boolean acceptsURL(String url): 測試URL可不可以進行連接。 |
| 2)Connection connect(String url, Properties info): 創(chuàng)建一個連接到指定數(shù)據(jù)庫URL。 |
| 3)int getMajorVersion(): 獲取驅(qū)動程序的主版本號。 |
| 4)int getMinorVersion(): 獲取驅(qū)動程序的次版本號。 |
| 5)DriverPropertyInfo[] getPropertyInfo(String url, Properties info): 獲取驅(qū)動程序的屬性。 |
三、通過一個案例來了解加載MySQL驅(qū)動類的用法
1.首先導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進來,然后點擊“OK”。
2.在上面介紹了Driver接口的基礎(chǔ)知識點,接下來,小編通過一個案例帶大家一起了解加載MySQL的驅(qū)動類的用法,代碼如下所示:
public class Example24 {public static void main(String[] args) {//定義一個字符串來保存com.mysql.jdbc的Driver類路徑String driver="com.mysql.jdbc.Driver";try {Class.forName(driver);System.out.println("驅(qū)動程序加載成功...");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blockSystem.out.println("驅(qū)動程序加載失敗...");}}}
效果圖如下所示:

在上面代碼中,首先是聲明一個字符串來保存com.mysql.jdbc的Driver類路徑,使用Class.forName()方法來加載這個驅(qū)動,方便后續(xù)數(shù)據(jù)庫連接。
四、DriverManager類
1.DriverManager類是用于加載JDBC驅(qū)動程序,并且創(chuàng)建和數(shù)據(jù)庫連接,對于任何給定的連接請求,它會讓每個驅(qū)動程序依次嘗試連接到目標的URL。
2.DriverManager常用方法
| 常用方法如下所示: |
|---|
| 1)static Connection getConnection(String url,String user, String password):用于連接到指定的數(shù)據(jù)庫URL。 |
| 2)static void setLoginTimeout(int seconds):設(shè)置驅(qū)動程序連接的最長時間。 |
| 3)static void registerDriver(Driver driver):用于向DriverManager注冊指定的驅(qū)動程序。 |
五、Connection接口
1.Connection接口是用于和特定的數(shù)據(jù)庫進行連接,在連接上下文中執(zhí)行SQL語句并且返回結(jié)果。
2.Connection常用方法
| 常用方法: |
|---|
| 1)Statement createStatement():創(chuàng)建一個Statement對象把SQL語句傳遞給數(shù)據(jù)庫。 |
| 2)PreparedStatement prepareStatement(String sql):創(chuàng)建一個PreparedStatement對象把參數(shù)化SQL語句傳遞給數(shù)據(jù)庫。 |
| 3)boolean isClosed(): 判斷Connectuon對象是否關(guān)閉。 |
| 4)boolean isReadOnly(): 判斷Connection對象是否只讀。 |
| 5)void close(): 立即釋放此Connection對象的數(shù)據(jù)庫和JDBC資源。 |
六、通過一個案例了解連接MySQL數(shù)據(jù)庫的用法
1.首先導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進來,然后點擊“OK”。
2.通過上面所學(xué)的知識,接下來,小編通過一個案例帶大家一起了解連接MySQL數(shù)據(jù)庫的用法,代碼如下所示:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Example24 {public static void main(String[] args) {//定義一個字符串來保存com.mysql.jdbc的Driver類路徑String driver="com.mysql.jdbc.Driver";//數(shù)據(jù)庫地址,本機、端口號3306、數(shù)據(jù)庫名為testString url="jdbc:mysql://localhost:3306/test";//用戶名String user="root";//密碼String pwd="168168";try {Class.forName(driver);System.out.println("驅(qū)動程序加載成功...");Connection conn=DriverManager.getConnection(url,user,pwd);System.out.println("數(shù)據(jù)庫連接成功:"+conn);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blockSystem.out.println("驅(qū)動程序加載失敗...");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
效果圖如下所示:

在上面代碼中,首先是先加載驅(qū)動程序,之后,定義三個字符串保存數(shù)據(jù)庫地址、用戶名、密碼,使用getConnection()方法進行數(shù)據(jù)庫的連接。
七、總結(jié)
1.本文介紹了JDBC的Driver接口、DriverManager類、Connection接口。
2.介紹了Driver接口,當(dāng)你在加載某一個Driver類,它自己實例化并向DriverManager注冊這個實例。文中介紹使用Class.forName()方法來調(diào)用程序加載和注冊一個驅(qū)動程序的具體過程,還介紹了它的常用方法。
3.介紹了DriverManager類,它是用于加載JDBC驅(qū)動程序,并且創(chuàng)建和數(shù)據(jù)庫連接,對于任何給定的連接請求,它會讓每個驅(qū)動程序依次嘗試連接到目標的URL。
4.介紹了Connection接口,它是用于和特定的數(shù)據(jù)庫進行連接,在連接上下文中執(zhí)行SQL語句并且返回結(jié)果。
5.希望大家通過本文的學(xué)習(xí),對你有所幫助!
最后需要拓展包的小伙伴,可以在公眾號后臺回復(fù)“拓展包”關(guān)鍵字進行獲取。
我是Java進階者,希望大家通過本文的學(xué)習(xí),對你有所幫助!歡迎大家加我微信,有問題可以隨時幫大家解決噢,交個朋友也好哇~
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Java學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
