大战熟女丰满人妻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視頻教程,里面的課程內容由淺到深,細致全面,通俗易懂,時候沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 性一级视频| 日本一片免费观看高清完整 | 波多野给衣一区二区三区 | 欧美视频一区在线 | 免费一级a毛片在线播出 | 日色视频 | 黄色国产视频 | 日韩影院久久 | 99热这里有免费国内精品 | 狠狠色噜噜狠狠狠狠五月婷 | 快播激情 | 奇米狠狠 | 综合国产 | 羞羞视频免费网站 | 九九re | 久久久久久综合对白国产 | 日本爱爱网| 99热久久只有精品99只有精品 | 四虎影院在线免费播放 | 精品视频在线观看一区二区 | 四虎永久免费观看紧急入口 | 久久久久久色 | 亚洲激情视频在线播放 | 91亚洲国产系列精品第56页 | 一级理论片免费观看在线 | 欧美午夜艳片欧美精品 | 色综合色综合色综合色综合 | 色婷婷91| 成人黄色在线免费观看 | 日本特级aⅴ一级毛片 | 爱爱免费网站 | 美女很黄很黄免费 | 亚洲色图国产精品 | 欧美一级刺激毛片 | 久草精品免费 | 免费在线观看福利 | 久久91精品国产一区二区 | 伊人五月天婷婷琪琪综合 | 毛片欧美 | 国产 日韩 一区 | 久久国产精品久久精 |