国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

童少娟

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

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

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

一、JDBC的功能與特點(diǎn)

1.JDBC的基本功能

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

2.JDBC是低級(jí)的API與高級(jí)API的基礎(chǔ)

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

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

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

(1)Java不能直接使用ODBC。因?yàn)镺DBC使用C語言接口,如果讓Java來調(diào)用本機(jī)C代碼的話,那會(huì)在安全、屬性、健壯性、應(yīng)用的可移植性等方面帶來困難。

(2)不希望把ODBC C API逐字地翻譯成Java API。例如,ODBC使用了大量的易于出錯(cuò)的指針,而Java取消了這種不安全的指針?,F(xiàn)在通過JDBC,把ODBC翻譯成具有Java風(fēng)格的面向?qū)ο蟮慕涌凇?/p>

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

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

4.保證一致性的措施

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

二、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);

參考文獻(xiàn):

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

[2]洪偉恩.深入淺出Java 2面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:中國鐵道出版社,2004.5.

猜你喜歡
連接數(shù)據(jù)庫
數(shù)據(jù)庫
公路與城市道路連接問題的研究探討
騰訊發(fā)揮“連接”優(yōu)勢助力區(qū)域品牌崛起
新營銷(2016年11期)2016-12-27 08:57:22
改進(jìn)主變低壓側(cè)套管與硬母排間的連接
陳春花:什么樣的公司最受90后歡迎?
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
静乐县| 明水县| 怀宁县| 兴仁县| 丘北县| 绵阳市| 方正县| 道真| 德安县| 宿松县| 兴义市| 木里| 光泽县| 清镇市| 句容市| 宜宾县| 民乐县| 桦甸市| 高唐县| 阳新县| 南华县| 会东县| 中超| 从化市| 嘉善县| 门源| 嘉黎县| 博爱县| 宁国市| 澄迈县| 尚义县| 西林县| 清流县| 达州市| 贡山| 霍邱县| 荆门市| 祁东县| 儋州市| 小金县| 海丰县|