其實(shí)Java如何通過JDBCAPI訪問數(shù)據(jù)庫(kù)的,我們先來看看下圖:

java

通過圖片我們可以看出來,Java程序需要做數(shù)據(jù)庫(kù)操作通過jdbcAPI做操作,在做操作之前同DriverManager來建立連接。在建立連接之前我們要加載對(duì)應(yīng)要連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng),所以驅(qū)動(dòng)需要數(shù)據(jù)庫(kù)廠商自己提供。

整理出來Java連接數(shù)據(jù)庫(kù)的操作基本的流程是:

  1. 加載驅(qū)動(dòng);

  2. 建立連接;

  3. 執(zhí)行sql;

  4. 處理結(jié)果;

  5. 關(guān)閉資源;

通過這五個(gè)步驟我答主來一一解釋如何訪問的數(shù)據(jù)庫(kù)

加載驅(qū)動(dòng)

我們得知道自己連接是數(shù)據(jù)庫(kù)是哪一類,所以得先加載需要連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)我們要提前引入。我就用mysql為例,代碼如下:

Class.forName("com.mysql.jdbc.Driver");

建立連接

驅(qū)動(dòng)加載完畢我們的和這個(gè)數(shù)據(jù)庫(kù)建立連接,所以我們要在建立連接的時(shí)候給上連接地址,登錄名,登錄密碼;這里會(huì)產(chǎn)生一個(gè)連接對(duì)象Connection;

Connection conn=DriverManager.getConnectioin("jdbc:mysql://服務(wù)器地址:3306",登錄名,密碼);

發(fā)送并執(zhí)行sql語(yǔ)句

有了連接對(duì)象Connection,那么我們就可以發(fā)送并執(zhí)行sql語(yǔ)句了,這個(gè)時(shí)候需要一個(gè)做發(fā)送執(zhí)行的對(duì)象Statement對(duì)象,這個(gè)對(duì)象是有Connection產(chǎn)生。然后根據(jù)對(duì)應(yīng)的sql語(yǔ)句類型調(diào)用對(duì)應(yīng)的執(zhí)行方法;

Statement sta=conn.creatStatement();

//執(zhí)行sql語(yǔ)句,這里用查詢舉例,會(huì)得到一個(gè)結(jié)果集對(duì)象。

ResultSet rs=sta.executeQuery(sql語(yǔ)句);

處理結(jié)果

這里執(zhí)行的是查詢sql語(yǔ)句,那么會(huì)得到一個(gè)獲得結(jié)果集的對(duì)象ResultSet對(duì)象。也就是說我們處理結(jié)果集就是在操作這個(gè)對(duì)象:

rs.next();//問有沒有

String a=rs.getString("字段名或下標(biāo)");//有就取,這行數(shù)據(jù)的某個(gè)字段

int b=rs.getInt("字段名或下標(biāo)");

關(guān)閉資源

剛剛做完操作,現(xiàn)在我們需要對(duì)使用過的資源對(duì)象做關(guān)閉操作;

要遵循后用先關(guān)的規(guī)則:

rs.Close();

sta.Close();

conn.Close();

總結(jié):大家可以看到通過我們以上的步驟可以看出來,我們通過api連接數(shù)據(jù)庫(kù)的步驟就是這個(gè)樣子的。