黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java JDBC連接數(shù)據(jù)庫的方法

Java JDBC連接數(shù)據(jù)庫的方法

更新時間:2022-08-17 08:20:17 來源:動力節(jié)點 瀏覽1198次

安裝適當?shù)尿?qū)動程序后,就可以使用 JDBC 建立數(shù)據(jù)庫連接了。

建立 JDBC 連接所涉及的編程相當簡單。這是這些簡單的四個步驟 -

Import JDBC Packages - 將import語句添加到您的 Java 程序以在您的 Java 代碼中導(dǎo)入所需的類。

注冊 JDBC 驅(qū)動程序- 此步驟使 JVM 將所需的驅(qū)動程序?qū)崿F(xiàn)加載到內(nèi)存中,以便它可以滿足您的 JDBC 請求。

Database URL Formulation - 這是創(chuàng)建一個格式正確的地址,指向您希望連接的數(shù)據(jù)庫。

創(chuàng)建連接對象- 最后,編寫對DriverManager對象的getConnection( )方法的調(diào)用以建立實際的數(shù)據(jù)庫連接。

導(dǎo)入 JDBC 包

Import語句告訴 Java 編譯器在哪里可以找到您在代碼中引用的類,并放置在源代碼的最開頭。

要使用允許您在 SQL 表中選擇、插入、更新和刪除數(shù)據(jù)的標準 JDBC 包,請將以下導(dǎo)入添加到源代碼

import java.sql.* ;  // for standard JDBC programs
import java.math.* ; // for BigDecimal and BigInteger support

注冊 JDBC 驅(qū)動程序

在使用之前,您必須在程序中注冊驅(qū)動程序。注冊驅(qū)動程序是將Oracle驅(qū)動程序的類文件加載到內(nèi)存中的過程,因此它可以用作JDBC接口的實現(xiàn)。

您只需在您的程序中進行一次注冊。您可以通過以下兩種方式之一注冊驅(qū)動程序。

方法一 Class.forName()

注冊驅(qū)動程序最常見的方法是使用 Java 的Class.forName()方法,將驅(qū)動程序的類文件動態(tài)加載到內(nèi)存中,然后自動注冊它。這種方法更可取,因為它允許您使驅(qū)動程序注冊可配置和可移植。

以下示例使用 Class.forName() 注冊 Oracle 驅(qū)動程序

try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException ex) {
   System.out.println("Error: unable to load driver class!");
   System.exit(1);
}

您可以使用getInstance()方法來解決不兼容的 JVM,但是您必須為兩個額外的異常編寫代碼,如下所示

try {
   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
}
catch(ClassNotFoundException ex) {
   System.out.println("Error: unable to load driver class!");
   System.exit(1);
catch(IllegalAccessException ex) {
   System.out.println("Error: access problem while loading!");
   System.exit(2);
catch(InstantiationException ex) {
   System.out.println("Error: unable to instantiate driver!");
   System.exit(3);
}

方法二 DriverManager.registerDriver()

可以用來注冊驅(qū)動程序的第二種方法是使用靜態(tài)DriverManager.registerDriver()方法。

如果您使用的是不兼容 JDK 的 JVM,例如 Microsoft 提供的 JVM,您應(yīng)該使用registerDriver()方法。

以下示例使用 registerDriver() 注冊 Oracle 驅(qū)動程序

try {
   Driver myDriver = new oracle.jdbc.driver.OracleDriver();
   DriverManager.registerDriver( myDriver );
}
catch(ClassNotFoundException ex) {
   System.out.println("Error: unable to load driver class!");
   System.exit(1);
}

數(shù)據(jù)庫 URL 公式

加載驅(qū)動程序后,您可以使用DriverManager.getConnection()方法建立連接。為了便于參考,讓我列出三個重載的 DriverManager.getConnection() 方法 -

獲取連接(字符串網(wǎng)址)

getConnection(字符串 url,屬性道具)

getConnection(字符串 url, 字符串用戶, 字符串密碼)

這里每個表單都需要一個數(shù)據(jù)庫URL。數(shù)據(jù)庫 URL 是指向您的數(shù)據(jù)庫的地址。

制定數(shù)據(jù)庫 URL 是與建立連接相關(guān)的大多數(shù)問題發(fā)生的地方。

創(chuàng)建連接對象

我們列出了三種形式的DriverManager.getConnection()方法來創(chuàng)建連接對象。

使用帶有用戶名和密碼的數(shù)據(jù)庫 URL

最常用的 getConnection() 形式要求您傳遞數(shù)據(jù)庫 URL、用戶名和密碼-

假設(shè)您使用的是 Oracle 的瘦驅(qū)動程序,您將為 URL 的數(shù)據(jù)庫部分指定 host:port:databaseName 值。

如果您的 TCP/IP 地址為 192.0.0.1 的主機名為 amrood,并且您的 Oracle 偵聽器配置為偵聽端口 1521,并且您的數(shù)據(jù)庫名稱為 EMP,那么完整的數(shù)據(jù)庫 URL 將是

jdbc:oracle:thin:@amrood:1521:EMP

現(xiàn)在您必須使用適當?shù)挠脩裘兔艽a調(diào)用 getConnection() 方法來獲取Connection對象,如下所示

String URL = "jdbc:oracle:thin:@amrood:1521:EMP";
String USER = "username";
String PASS = "password"
Connection conn = DriverManager.getConnection(URL, USER, PASS);

僅使用數(shù)據(jù)庫 URL

DriverManager.getConnection() 方法的第二種形式只需要一個數(shù)據(jù)庫 URL

DriverManager.getConnection(String url);

但是,在這種情況下,數(shù)據(jù)庫 URL 包括用戶名和密碼,并具有以下一般形式 

jdbc:oracle:driver:username/password@database

因此,可以按如下方式創(chuàng)建上述連接

String URL = "jdbc:oracle:thin:username/password@amrood:1521:EMP";
Connection conn = DriverManager.getConnection(URL);

使用數(shù)據(jù)庫 URL 和屬性對象

DriverManager.getConnection() 方法的第三種形式需要一個數(shù)據(jù)庫 URL 和一個 Properties 對象

DriverManager.getConnection(String url, Properties info);

Properties 對象包含一組關(guān)鍵字-值對。它用于在調(diào)用 getConnection() 方法期間將驅(qū)動程序?qū)傩詡鬟f給驅(qū)動程序。

要建立與前面示例相同的連接,請使用以下代碼

import java.util.*;
String URL = "jdbc:oracle:thin:@amrood:1521:EMP";
Properties info = new Properties( );
info.put( "user", "username" );
info.put( "password", "password" );
Connection conn = DriverManager.getConnection(URL, info);

關(guān)閉 JDBC 連接

在 JDBC 程序結(jié)束時,需要顯式關(guān)閉與數(shù)據(jù)庫的所有連接以結(jié)束每個數(shù)據(jù)庫會話。但是,如果您忘記了,Java 的垃圾收集器會在清理陳舊對象時關(guān)閉連接。

依賴垃圾收集,尤其是在數(shù)據(jù)庫編程中,是一種非常糟糕的編程實踐。您應(yīng)該養(yǎng)成使用與連接對象關(guān)聯(lián)的 close() 方法始終關(guān)閉連接的習(xí)慣。

為確保連接已關(guān)閉,您可以在代碼中提供“finally”塊。finally塊總是執(zhí)行,無論是否發(fā)生異常。

要關(guān)閉上面打開的連接,您應(yīng)該調(diào)用 close() 方法,如下所示

conn.close();

顯式關(guān)閉連接可以節(jié)省 DBMS 資源,這將使您的數(shù)據(jù)庫管理員感到高興。如果大家想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的JDBC視頻教程,里面的課程內(nèi)容由淺到深,細致全面,通俗易懂,時候沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 青草国产精品久久久久久久久 | 精品在线视频免费 | 亚洲小视频在线播放 | 亚洲福利国产 | 一本一道dvd在线播放器 | 无遮羞肉体动漫影院免费版 | 无边泳池在线观看 | 高清一级做a爱过程免费视频 | 乱色美www女麻豆 | 婷婷在线综合 | 小娜的荡高h放荡日记 | 免费看大美女大黄大色 | 一级a性色生活片毛片 | 福利网址导航大全 | 成人在线观看国产 | 一色屋免费视频 | 在线看mv的网站入口免费 | 亚洲成综合人影院在院播放 | 国产黄在线播放免费观看 | 久久精品视频网站 | 免费国产成人高清无线看软件 | 成人免费视频88 | 欧美日本在线视频 | 亚洲成人伦理 | 国产综合一区二区 | 日韩影视在线 | 日韩久久一级毛片 | 国产高清免费在线观看 | 色久在线 | 性感美女视频免费网站午夜 | 成人毛片免费观看视频大全 | 国产成人aa免费视频 | 日韩激情淫片免费看 | 日日干天天爽 | 日韩激情在线播放 | 精品成人在线视频 | 成人超污免费网站在线看 | 中文字幕福利视频 | 粉嫩极品国产在线播放 | 麻豆国产在线观看免费 | 中文字幕在线看视频一区二区三区 |