1. 程式人生 > >註冊jdbc驅動的三種方式

註冊jdbc驅動的三種方式

---------------------------------------------------------------------------

---------------------------------------------------------------------------


java.sql.DriverManger類簡介

Java的驅動管理類。管理一組 JDBC 驅動程式。

javax.sql.DataSource 介面是 JDBC 2.0 API 中的新增內容,它提供了連線到資料來源的另一種方法。使用 DataSource 物件是連線到資料來源的首選方法。更深的理解請參見java 文件。

DiverManager類有個vector(向量)型別的屬性drivers。可在向量中加入很多驅動,當DriverManager去取連線的時候,若果drivers裡有很多驅動,它會把drivers裡面的各個驅動的url和建立連線時傳進來的url逐一比較,遇到對應的url,則建立連線。 

方法一

System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");

通過系統的屬性設定註冊驅動,如果要註冊多個驅動,則System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver:com.oracle.jdbc.Driver");

這種驅動註冊方式很少使用。

方法二

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

這種方式不會對具體的驅動類產生依賴(即不用import驅動類)。

Class類的forName方法中對引數指定的類進行了裝載操作。在這裡將com.mysql.jdbc.Driver類裝載到jvm。眾所周知,類裝載時,將執行被裝載類的靜態程式碼塊,而Driver類有一個靜態程式碼塊如下:

static{

   try{

       java.sql.DriverManager.registerDriver(newDriver());

    }catch(SQLExceptione){

        thrownew RuntimeException("can't register driver!");

    }

}

所以在裝載過程中即完成了driver的註冊。這也是使用最多的一種註冊驅動方式。

方法三

DriverManager.registerDriver(newcom.mysql.jdbc.Driver());

會造成DriverManager中產生兩個一樣的驅動,並會對具體的驅動類產生依賴。

具體來說就是:

2,由於例項化了com.mysql.jdbc.Driver.class,導致必須import該類,從而具體驅動產生了依賴。不方便擴充套件程式碼。

相關推薦

JS中註冊事件的方式及相容性處理

第一種(所有瀏覽器都支援,但是無法給同一個物件的同一個事件註冊多個事件處理函式) btn.onclick = function() { alert("111") } btn.onclick = function() {

Java開發Oracle的jdbc驅動主要分類:

  1、JDBC OCI: oci是oracle call interface的縮寫,此驅動類似於傳統的ODBC 驅動。因為它需要Oracle Call Interface and Net8,所以它需要在執行使用此驅動的JAVA程式的機器上安裝客戶端軟體,其實主要是用到orc

註冊jdbc驅動方式

--------------------------------------------------------------------------- ----------------------------------------------------------

註冊 Jdbc 驅動程式的方式及Class.forName 的作用

(1)jdbc中註冊驅動,首先匯入對應的包,例如mysql-connector-java-5.0.8-bin.jar。驅動包是java和具體資料庫之間的連線橋樑,由資料庫廠商開發。每一種資料庫對應一款驅動jar,甚至每一個版本的資料庫都有自己對應版本的驅動jar。 (2

JDBC操作數據庫的方式比較

style 通過反射 static AR ati odex 語句 hiberna uppercase JDBC(java Database Connectivity)java數據庫連接,是一種用於執行上sql語句的javaAPI,可以為多種關系型數據庫提供統

jdbc連接數據庫方式

println span system ora 方式 獲取 註冊 使用 ring ---恢復內容開始--- 第一種: public class Demo1 { //連接數據庫的URL private String url = "jdbc:mysql://localhost:

UE4 UI更新的方式及具體實現的方式(最優化的方式是事件驅動

UE4中UI的更新分為下面三種方式:函式繫結和屬性繫結是Tick更新的,也就是說每幀都在呼叫資料就行更新,他們倆個原理是一樣的,最優化的方式是事件繫結! 1、函式繫結: 百分比血量 來舉例 1、拖入Progress Bar 2、在Progress裡新建繫結函式 3、設定如下:為了優化

jdbc連線資料庫的方式

1.jdbc: 使用java程式碼傳送sql的技術。是由sun公司提供的一套規範。 2.連線資料庫的三種方式 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManag

BeanFactory和它的物件註冊和依賴繫結的方式

一、Spring中的BeanFactory是什麼?   BeanFactory是個基本的IoC容器,提供完整的IoC服務支援,負責物件建立的管理和依賴注入服務   如果沒有特殊指定,預設採用延遲初始化策略(lazy-load)。只有當客戶端物件需要訪問容器中的某個受管物件

strut2接收引數的方式(屬性驅動\物件驅動\模型驅動)說明

strut2接收引數有三種方式(屬性驅動\物件驅動\模型驅動),分別對三種進行一個總結: 一.屬性驅動 Jsp程式碼 <body>        <h1>屬性驅動<

解決dubbo註冊zookepper服務IP亂入問題的方式

最近做一個專案引入了dubbo+zookepper的分散式服務治理框架。在應用的釋出的時候出現一個怪問題。zookepper服務是起在開發伺服器192.168.23.180上。本機起應用服務提供者註冊到192.168.23.180上的dubbo服務可以註冊成功,用dubbo

Java通過JDBC連線資料庫的方式!!!並對資料庫實現增刪改查

前言 java連線資料庫完整流程為: 1,獲得驅動(driver),資料庫連線(url),使用者名稱(username),密碼(password)基本資訊的三種方式。 2,通過獲得的資訊完成JDBC實現連線資料庫。 注:連線前請匯入jar包,例:連線my

strut2接收引數的方式(屬性驅動\物件驅動\模型驅動)

一.屬性驅動 Jsp程式碼 <body>        <h1>屬性驅動</h1>        <form action="${pageContext.request.contextPath}/Demo1Action" met

調用類的方式

set div sharp csharp true ren light setname clas 1.T t; Teacher teach ;//T t = new T t(); teach.SetName("lizl"); teach.Say(); 2 *t T

Java多線程實現的方式

get() warning 三種方式 方式 緩存 運行 了解 ren ava Java多線程實現方式主要有三種:繼承Thread類、實現Runnable接口、使用ExecutorService、Callable、Future實現有返回結果的多線程。其中前兩種方式線程執行完後

java數組擴增的方式

實現 arrays 數組復制 當我 自身 ++ new 復制 log java數組聲明的時候必須聲明其長度,但當我們想對數組進行擴增的時候該怎麽辦呢? 下面三種方式都可以進行擴增,最後一種也最為方便。 1 /** 2 * 手動循環擴增

java寫入文件的方式比較

all mem exc 操作 測試文件 nts sys output println 1.FileOutputStream方式 2.BufferedOutputStream方式 3.FileWriter方式 經過多次測試,發現不緩存的FileOutputStream會比較慢

JAVA實現Base64編碼的方式

ack ons static nts bstr clas [] ram trace 摘要: Javabase64編碼的三種方式 有如下三種方式: 方式一:commons-codec.jar Java代碼 1. String base64String="whuang12

SpringMVC返回json數據的方式

class error log under itl gmv nbsp sin pri SpringMVC返回json數據的三種方式:http://blog.csdn.net/shan9liang/article/details/42181345 上述第三種方法:可能會出

容器間通信的方式 - 每天5分鐘玩轉 Docker 容器技術(35)

docker 容器 教程 容器之間可通過 IP,Docker DNS Server 或 joined 容器三種方式通信。IP 通信從上一節的例子可以得出這樣一個結論:兩個容器要能通信,必須要有屬於同一個網絡的網卡。滿足這個條件後,容器就可以通過 IP 交互了。具體做法是在容器創建時通過 --net