程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> J2EE的13個規范之JDBC

J2EE的13個規范之JDBC

編輯:C++入門知識

如果讓你接觸一樣新的東西,你可能感覺無所適從,但是如果本來就是舊事物的話,你學習起來還難嗎?

 

一、ODBC,我們的老朋友

 

ODBC(Open Database Connectivity)是微軟公司與數據庫的接口規范。

 

精華點:

 

1.ODBC,建立了一組規范並提供了一組對數據庫訪問的標准API,標准應用程序數據接口。

2.ODBC是用C語言實現的,裡面用到了大量的指針。

3.ODBC驅動程式的使用把應用程式從具體的數據庫調用中隔離開來,驅動程式管理器針對特定數據庫的各個驅動程式進行集中管理,並向應用程式提供統一的標准接口,

4.結構模型:分為四部分,應用程序接口,驅動器管理器,數據庫驅動器和數據源。具體看圖:

 

\

 

 

二、JDBC,應呼聲而起

 

JAVA語言的出現,風靡全球。當時JAVA人員用ODBC來操作數據庫應用程序的時候,遇到了很多的麻煩,比如ODBC是使用C語言實現的,並且包含大量的指針,這對JAVA完全面向對象的思想是一個很大的沖突,導致了JAVA的很多優秀特性無法使用,比如平台無關性,面向對象特性等。

 

於是,應呼聲而起,SUN公司開發了一套專門java語言為接口的數據庫應用程序開發接口。

 

JDBC(Java DataBase Connectivity)是Java與數據庫的接口規范。

 

精華點:

 

1.JDBC定義了一個支持標准SQL功能的通用低層的應用程序編程接口(API)。

2.JDBC是用java語言實現的,完全面向對象的思想,具有平台無關性,一致性強,安全穩定,分布式,易用等優點,並且還擴展了java的能力。

3.JDBC是Java通過數據庫驅動與數據庫進行通信,利用Java的平台無關性,JDBC應用程式能自然地實現跨平台特性,因而更適合於internet上異構環境的數據庫應用。(與ODBC一樣)

4.結構模型:分為四部分,應用程序接口,驅動器管理器,數據庫驅動器和數據源。(與ODBC一樣)具體看圖:

 

\

 

 

三、對比來學習

 

 

相同點:

 

1.JDBC與ODBC都是基於X/Open的SQL調用級接口;

2.JDBC很多設計思想沿襲了ODBC,包括許多抽象和SQL CLI實現;.ODBC與JDBC都提供對SQL語言的支持;

3.JDBC的總體結構類似於ODBC,如圖:

 

\

 

 

不同點:

 

1.ODBC是由微軟公司,用C語言編寫的,其中用到了大量的指針;JDBC是由SUN公司,用JAVA語言編寫的,完全面向對象的思想。

2.ODBC難以學習,ODBC把簡單功能和復雜功能混雜在一起,即便是簡單的事情也會帶來復雜的操作;JDBC易於學習,設計理念是簡單的事情簡單做,必要時才會讓用戶使用高級功能。

3.ODBC的驅動器管理程序和驅動器必須手工安裝到每台客戶機上;JDBC的驅動器由於全是用JAVA編寫,所以JDBC可以在所有的JAVA平台上自動安裝。

 

四、擴展和總結

 

擴展:

 

JDBC-ODBC,它出現的原因很簡單:我們有時候需要用JAVA語言連接微軟的數據庫,但是由於微軟的數據庫不是由JAVA編寫的,所以我們需要一個橋連接。

 

具體的實現就不在這裡提及了,但是有一點需要注意的是,JDBC是使用JAVA的數據庫驅動直接和數據庫相連,而JDBC-ODBC連接的是ODBC的數據源,真正與數據庫建立連接的是ODBC!

 

總結

 

技術上該總結的都在比較中總結出來的,在這裡只想說明一點,我自己從一開始打算弄懂JDBC,然後又想到了ODBC,可是對於ODBC也僅限於用過,所以感覺很亂,整理了幾天之後,就發現,最能夠讓自己搞清關系的是“追本溯源”,從“根”上查起,這就有種知識網再生長,往外擴展或者更加密集的感覺,而不是突兀的出現一個點,讓自己絞盡腦汁,生搬硬套的找關系,而是自然而然的,順生長,感覺還是這樣的學習比較好,而且有效率,推薦給大家!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved