大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

Java JDBC連接數據庫的方法

更新時間:2022-08-17 08:20:17 來源:動力節點 瀏覽1139次

安裝適當的驅動程序后,就可以使用 JDBC 建立數據庫連接了。

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

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

注冊 JDBC 驅動程序- 此步驟使 JVM 將所需的驅動程序實現加載到內存中,以便它可以滿足您的 JDBC 請求。

Database URL Formulation - 這是創建一個格式正確的地址,指向您希望連接的數據庫。

創建連接對象- 最后,編寫對DriverManager對象的getConnection( )方法的調用以建立實際的數據庫連接。

導入 JDBC 包

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

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

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

注冊 JDBC 驅動程序

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

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

方法一 Class.forName()

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

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

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()

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

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

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

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);
}

數據庫 URL 公式

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

獲取連接(字符串網址)

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

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

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

制定數據庫 URL 是與建立連接相關的大多數問題發生的地方。

創建連接對象

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

使用帶有用戶名和密碼的數據庫 URL

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

假設您使用的是 Oracle 的瘦驅動程序,您將為 URL 的數據庫部分指定 host:port:databaseName 值。

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

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

現在您必須使用適當的用戶名和密碼調用 getConnection() 方法來獲取Connection對象,如下所示

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

僅使用數據庫 URL

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

DriverManager.getConnection(String url);

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

jdbc:oracle:driver:username/password@database

因此,可以按如下方式創建上述連接

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

使用數據庫 URL 和屬性對象

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

DriverManager.getConnection(String url, Properties info);

Properties 對象包含一組關鍵字-值對。它用于在調用 getConnection() 方法期間將驅動程序屬性傳遞給驅動程序。

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

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);

關閉 JDBC 連接

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

依賴垃圾收集,尤其是在數據庫編程中,是一種非常糟糕的編程實踐。您應該養成使用與連接對象關聯的 close() 方法始終關閉連接的習慣。

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

要關閉上面打開的連接,您應該調用 close() 方法,如下所示

conn.close();

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

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一区二三区国产 | 国模和精品嫩模私拍视频 | 成人亚洲精品7777 | 免费一级a毛片夜夜看 | 天天在线干 | 九九99精品 | 四虎b789ucom | 一级片影院 | 99香蕉网| 欧美一级黄色片在线观看 | 四虎影视最新网址 | 久久爱伊人一区二区三区小说 | 激情国产白嫩美女在线观看 | 欧美精品久久久久久久久大尺度 | 亚洲精品视频免费看 | 国产精品国产国产aⅴ | 欧美乱子伦一区二区三区 | 欧美孕妇乱大交xxxxx | 亚洲精品欧美在线 | 男人与牛做爰的视频 | 欧美激情在线精品一区二区 | 久久久久国产一级毛片高清版 | 午夜色网站 | 欧美一级特黄毛片免费 | 欧美性生交xxxxx丝袜 | 久久青青草原精品国产麻豆 | 一区二区高清视频 | 国产精品日韩欧美在线第3页 | 国产成人mv在线观看入口视频 | 看黄网站在线观看 | 国产91一区二这在线播放 | 91久久亚洲国产成人精品性色 | 国产精品欧美亚洲韩国日本99 | 一级毛片高清免费播放 | 在线激情网址 | 亚洲成年人免费网站 | 亚洲精品一区二区三区中文字幕 | 久久亚洲综合网 | 国产成人在线免费视频 | 国产欧美一区二区三区观看 | 亚洲第一成年免费网站 |