999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

童少娟

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

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

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

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

1.JDBC的基本功能

(1)建立與數(shù)據(jù)庫(kù)的連接;(2)發(fā)送SQL語(yǔ)句;(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正處在開(kāi)發(fā)之中:一種是嵌入SQL的Java。JDBC要求把SQL語(yǔ)句作為字符串傳遞給Java方法。嵌入SQL預(yù)處理程序,可讓程序員把SQL與Java直接混合使用。另一種是把關(guān)系數(shù)據(jù)庫(kù)表直接映射成Java類。在“對(duì)象/關(guān)系”的映射中,表中的每一行變成類的一個(gè)實(shí)例,每一列的值對(duì)應(yīng)于該實(shí)例的一個(gè)屬性。然后,程序員可直接操作Java對(duì)象,并自動(dòng)生成取、存數(shù)據(jù)的SQL調(diào)用。另外,它還提供了更高級(jí)的映射,例如,在Java類中把多個(gè)表的行結(jié)合起來(lái)。

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

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

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

(2)不希望把ODBC C API逐字地翻譯成Java API。例如,ODBC使用了大量的易于出錯(cuò)的指針,而Java取消了這種不安全的指針。現(xiàn)在通過(guò)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ù)庫(kù)接口。

4.保證一致性的措施

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

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

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

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

String user=“test”;

String password=“test”;

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

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

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

String user=“admin”;

String password=“”;

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

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

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

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

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

String user=“sa”;

String password=“”;

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

參考文獻(xiàn):

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

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

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 久久人搡人人玩人妻精品一| 国产草草影院18成年视频| 99视频全部免费| 国产剧情国内精品原创| 99国产在线视频| 波多野结衣亚洲一区| 亚洲精品第1页| 国产福利一区二区在线观看| 91成人试看福利体验区| 久久综合结合久久狠狠狠97色| 国产欧美在线视频免费| 亚洲av无码片一区二区三区| 91探花在线观看国产最新| 黄片在线永久| 亚洲二区视频| 亚洲男人在线天堂| 成人免费视频一区| 国产玖玖玖精品视频| 91精品国产无线乱码在线 | 久久综合伊人 六十路| 亚洲视频三级| 中文字幕一区二区人妻电影| 欧美另类第一页| 欧美性精品不卡在线观看| 国产情侣一区| 日韩乱码免费一区二区三区| 欧美午夜在线视频| 19国产精品麻豆免费观看| 最新亚洲人成网站在线观看| 超清无码熟妇人妻AV在线绿巨人| 欧美国产精品拍自| 一区二区三区精品视频在线观看| 麻豆国产原创视频在线播放 | 国产主播在线一区| 国产91熟女高潮一区二区| 91精品专区国产盗摄| 国产成人午夜福利免费无码r| 一本大道在线一本久道| 3p叠罗汉国产精品久久| 国产欧美日韩va| 亚洲一区色| 欧美视频在线不卡| 国产玖玖视频| 高清视频一区| 亚洲精品第五页| 国产91丝袜在线播放动漫 | 国内黄色精品| 亚洲一区二区黄色| 国产91高跟丝袜| 91美女在线| 国产乱论视频| 中文国产成人精品久久| 午夜影院a级片| 亚洲精品自拍区在线观看| 在线视频97| 久久亚洲中文字幕精品一区| 青草免费在线观看| 精品国产黑色丝袜高跟鞋| 成年女人a毛片免费视频| 国产精品久久久久久搜索| 国产人前露出系列视频| 国产91熟女高潮一区二区| 成人精品视频一区二区在线 | a毛片在线免费观看| 91精品国产一区| 成人永久免费A∨一级在线播放| 性欧美在线| 又猛又黄又爽无遮挡的视频网站| 全午夜免费一级毛片| 国产对白刺激真实精品91| 国产精品久久久精品三级| 97综合久久| 一级成人a做片免费| 婷婷综合在线观看丁香| 国产精品对白刺激| 欧美精品三级在线| 日本爱爱精品一区二区| 高清不卡毛片| 久久77777| 91精品在线视频观看| 国产丝袜无码精品| 国产超碰在线观看|