• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談Java數(shù)據(jù)庫連接

      2009-08-14 07:41童少娟
      中國校外教育(下旬) 2009年7期
      關鍵詞:連接數(shù)據(jù)庫

      童少娟

      [摘 要]Java數(shù)據(jù)庫連接(JDBC)由一組用 Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的 API,使他們能夠用純Java API來編寫數(shù)據(jù)庫應用程序,本文介紹了JDBC的概念、功能、特點及JDBC連接幾種數(shù)據(jù)庫的方式。

      [關鍵詞]JDBC Java 數(shù)據(jù)庫 連接

      JDBC是執(zhí)行SQL語句的Java API。使用JDBC可以很容易地把SQL語句傳送到任何關系型數(shù)據(jù)庫中。換言之,用戶不必為訪問Sybase數(shù)據(jù)庫寫一個程序,又為訪問Oracle數(shù)據(jù)庫寫另一個程序??梢杂肑DBC API寫出唯一的程序,它能夠將SQL語句發(fā)送到相應的任何一種數(shù)據(jù)庫。Java與JDBC的結合,使程序員可以只寫一次數(shù)據(jù)庫應用軟件后,就能在各種數(shù)據(jù)庫系統(tǒng)上運行。由于Java語言具有健壯性、安全、易使用、易理解和自動下載到網(wǎng)絡等優(yōu)點,因此,它是數(shù)據(jù)庫應用的一個極好的基礎語言?,F(xiàn)在,需要找到一種能使Java應用與各種不同數(shù)據(jù)庫對話的方式,而JDBC正是實現(xiàn)這種對話的一種機制。

      一、JDBC的功能與特點

      1.JDBC的基本功能

      (1)建立與數(shù)據(jù)庫的連接;(2)發(fā)送SQL語句;(3)處理結果。

      2.JDBC是低級的API與高級API的基礎

      JDBC是一種“低級”的接口,因為它直接調用SQL命令,但它又可以作為構造高級接口與工具的基礎。高級接口是“用戶友善的”、更易理解和更為方便的API,由后臺將它翻譯成如JDBC這樣的低級接口。有兩種基于JDBC的高級API正處在開發(fā)之中:一種是嵌入SQL的Java。JDBC要求把SQL語句作為字符串傳遞給Java方法。嵌入SQL預處理程序,可讓程序員把SQL與Java直接混合使用。另一種是把關系數(shù)據(jù)庫表直接映射成Java類。在“對象/關系”的映射中,表中的每一行變成類的一個實例,每一列的值對應于該實例的一個屬性。然后,程序員可直接操作Java對象,并自動生成取、存數(shù)據(jù)的SQL調用。另外,它還提供了更高級的映射,例如,在Java類中把多個表的行結合起來。

      3.JDBC與ODBC及其它API的比較

      目前,Microsoft的ODBC API是訪問關系型數(shù)據(jù)庫中應用最廣的編程接口,它幾乎能將所有平臺的所有數(shù)據(jù)庫連接起來?,F(xiàn)在的問題是可否通過Java來使用ODBC呢?回答是肯定的,但最好的做法是在JDBC幫助下采用JDBC-ODBC橋接方式實現(xiàn)。需要JDBC的理由如下:

      (1)Java不能直接使用ODBC。因為ODBC使用C語言接口,如果讓Java來調用本機C代碼的話,那會在安全、屬性、健壯性、應用的可移植性等方面帶來困難。

      (2)不希望把ODBC C API逐字地翻譯成Java API。例如,ODBC使用了大量的易于出錯的指針,而Java取消了這種不安全的指針?,F(xiàn)在通過JDBC,把ODBC翻譯成具有Java風格的面向對象的接口。

      (3)JDBC的Java API提供“純Java”的解決辦法。當使用ODBC時,ODBC驅動器管理程序與驅動器必須手工地裝入到每架客戶機上。而JDBC驅動器全部是用Java編寫的,JDBC代碼則在所有Java平臺(從網(wǎng)絡計算機到主機)上都可自動安裝,并且是可移植的和安全的。

      總之,JDBC API是一種基于SQL的抽象與概念的Java接口,它是基于ODBC的。熟悉ODBC的程序員很容易學習JDBC,JDBC保留了ODBC的基本設計功能。而且兩種接口都是基于X/OpenSQL CLI(Call Level Interface)。最大的區(qū)別是JDBC保持了Java自身的風格與優(yōu)點。最近,Microsoft引入了ODBC以外的新的API,包括RDO、ADO和OLE DB。其設計策略在許多方面與JDBC類似,也是一種基于ODBC類的面向對象的數(shù)據(jù)庫接口。

      4.保證一致性的措施

      結構化查詢語言(SQL)是存取關系型數(shù)據(jù)庫的標準語言。盡管多數(shù)DBMS系統(tǒng)在基本功能上都采用SQL的標準形式,但在高級功能上它們并不遵循最新定義的標準SQL語法、語義。例如,不是所有的數(shù)據(jù)庫都支持存儲過程或外部連接,這樣就產生了不一致。JDBC API處理這個問題的方法是允許將任何查詢字符串傳遞給基礎DBMS驅動器。JDBC處理SQL一致性問題的第二種方法是采用ODBC風格的例外條款,它提供了表示幾種常見的SQL差別的標準JDBC語法。例如,有表示日期文字與存儲過程定義的例外條款。

      二、JDBC連接幾種數(shù)據(jù)庫的方式

      1.Oracle8/8i/9i數(shù)據(jù)庫(thin模式) Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

      String url=“jdbc:oracle:thin:@localhost:1521:orcl”;//orcl為數(shù)據(jù)庫的SID

      String user=“test”;

      String password=“test”;

      Connection conn= DriverManager.getConnection(url,user,password);

      2.DB2數(shù)據(jù)庫 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver ”).newInstance();

      String url=“jdbc:db2://localhost:5000/sample”;//sample為你的數(shù)據(jù)庫名

      String user=“admin”;

      String password=“”;

      Connection conn= DriverManager.getConnection(url,user,password);

      3.Sql Server7.0/2000數(shù)據(jù)庫

      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

      String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

      //mydb為數(shù)據(jù)庫

      String user=“sa”;

      String password=“”;

      Connection conn= DriverManager.getConnection(url,user,password);

      參考文獻:

      [1]蕭仁惠,陳錦輝.JDBC數(shù)據(jù)庫程序設計[M].北京:中國鐵道出版社,2004.2.

      [2]洪偉恩.深入淺出Java 2面向對象程序設計[M].北京:中國鐵道出版社,2004.5.

      猜你喜歡
      連接數(shù)據(jù)庫
      數(shù)據(jù)庫
      騰訊發(fā)揮“連接”優(yōu)勢助力區(qū)域品牌崛起
      陳春花:什么樣的公司最受90后歡迎?
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      五河县| 永善县| 萨嘎县| 东海县| 红安县| 泰和县| 安西县| 收藏| 治多县| 北川| 柳江县| 义马市| 涞水县| 吉首市| 德江县| 阜康市| 济阳县| 繁峙县| 武定县| 临漳县| 会东县| 喜德县| 丰宁| 五华县| 日喀则市| 左权县| 施秉县| 凯里市| 珠海市| 左云县| 大兴区| 剑川县| 两当县| 扶余县| 伊川县| 光山县| 巢湖市| 得荣县| 镇宁| 海安县| 准格尔旗|