成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

JDBC 連接數據庫步驟

jdbc 連接數據庫步驟

建立一個 jdbc 數據庫連接共有四個步驟:

  • 導入 jdbc 包: 添加 import 語句到 java 程序導入所需的類在 java 代碼中。
  • 注冊 jdbc 驅動程序:這一步會導致 jvm 加載所需的驅動程序實現到內存中,因此它可以實現 jdbc 請求。
  • 制定數據庫 url:這是創建格式正確的地址指向到要連接的數據庫。
  • 創建連接對象:最后,代碼調用 drivermanager 對象的 getconnection() 方法來建立實際的數據庫連接。

 

1. 導入 jdbc 包

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

使用標準的jdbc包,它允許選擇,插入,更新和sql表中刪除數據,添加以下進口到您的源代碼:

import java.sql.* ;  // for standard jdbc programs
import java.math.* ; // for bigdecimal and biginteger support

 

2. 注冊 jdbc 驅動程序

使用 jdbc 創建連接之前,必須在程序中注冊驅動程序。注冊過程只能一次,可以通過以下兩種方式之一注冊一個驅動程序。

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

2)drivermanager.registerdriver():

第二種注冊驅動程序的方法是使用 static drivermanager.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);
}

 

3. 制定數據庫 url

當加載驅動程序完成后,可以使用 drivermanager.getconnection() 方法獲得連接。為方便參考,我們列出了三個重載 drivermanager.getconnection() 方法:

  • getconnection(string url)

  • getconnection(string url, properties prop)

  • getconnection(string url, string user, string password)

在這里,每個方法都需要一個數據庫 url,它指向數據庫地址。

下表列出了常用 jdbc 驅動程序名和數據庫的 url。

rdbms jdbc驅動程序的名稱 url 格式
mysql com.mysql.jdbc.driver jdbc:mysql://hostname:port/databasename
oracle oracle.jdbc.driver.oracledriver jdbc:oracle:thin:@hostname:port:databasename
db2 com.ibm.db2.jdbc.net.db2driver jdbc:db2:hostname:port/databasename
sybase com.sybase.jdbc.sybdriver jdbc:sybase:tds:hostname:port/databasename

 

3. 創建連接對象

1)使用數據庫url的用戶名和密碼:

getconnection() 最常用的形式是 getconnection(string url, string user, string password),要求傳遞數據庫 url,用戶名 username和密碼 password。

假設有一臺主機tcp/ip地址 192.0.0.1 以及主機名和 oracle 監聽器被配置為在端口 1521,數據庫名稱是 emp,然后完整的數據庫 url 是:

jdbc:oracle:thin:@192.0.0.1:1521:emp

通過 url、username 和 password 三個參數來獲得一個 connection 對象:

string url = "jdbc:oracle:thin:@192.0.0.1:1521:emp";
string user = "username";
string pass = "password"
connection conn = drivermanager.getconnection(url, user, pass);

2)只使用一個數據庫 url 的調用方式

drivermanager.getconnection(string url);

通過一個參數來獲得一個 connection 對象,在這種情況下,數據庫的 url 中包含用戶名和密碼:

jdbc:oracle:driver:username/password@database

所以上面的連接可以創建如下:

string url = "jdbc:oracle:thin:username/password@192.0.0.1:1521:emp";
connection conn = drivermanager.getconnection(url);

3)使用數據庫 url 和 properties 對象的調用方式

drivermanager.getconnection(string url, properties info);

properties 對象用來保存一組鍵值對,調用 getconnection() 方法時,將鍵值對傳遞給驅動程序。

import java.util.*;
string url = "jdbc:oracle:thin:@192.0.0.1:1521:emp";
properties info = new properties( );
info.put( "user", "username" );
info.put( "password", "password" );

connection conn = drivermanager.getconnection(url, info);

 

4. 關閉 jdbc 連接

在jdbc程序的結束,需要關閉所有的數據庫連接,以結束數據庫會話。但是,如果不關閉的話,java 垃圾收集器會關閉連接,并清除舊對象。但依托垃圾收集,特別是在數據庫編程,是非常差的編程習慣,應該顯式地關閉數據庫連接。為了確保連接被關閉,可以在代碼中的 finally 塊執行。

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

conn.close();

顯式地關閉連接,可以節約系統資源。

相關文章