資源描述:
《java數(shù)據(jù)庫(kù)接口jdbc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、Java數(shù)據(jù)庫(kù)接口JDBC1.1什么是JDBCJDBC是一種用于執(zhí)行SQL語句的JavaAPI(JavaDatabaseConnectivity)。它由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,使他們能夠用純Java來編寫數(shù)據(jù)庫(kù)應(yīng)用程序。有了JDBC,向各種關(guān)系數(shù)據(jù)庫(kù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫(kù)專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫(kù)又專門寫一個(gè)程序,為訪問Informix數(shù)據(jù)庫(kù)又寫另一個(gè)程序,等等。
2、您只需用JDBCAPI寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL語句。而且,使用Java編程語言編寫的應(yīng)用程序,就無須去憂慮要為不同的平臺(tái)編寫不同的應(yīng)用程序。將Java和JDBC結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺(tái)上運(yùn)行。Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而JDBC正是作為此種用途的機(jī)制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有apple
3、t的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫(kù)。企業(yè)也可以用JDBC通過Intranet將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對(duì)從Java中便捷地訪問數(shù)據(jù)庫(kù)的要求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。新程序的開發(fā)期很短。安裝
4、和版本控制將大為簡(jiǎn)化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。1.1.1JDBC的用途是什么?簡(jiǎn)單地說,JDBC可做三件事:與數(shù)據(jù)庫(kù)建立連接;發(fā)送SQL語句;處理結(jié)果。下列代碼段給出了以上三步的基本示例:Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login","password");State
5、mentstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");while(rs.next())System.out.println(rs.getString("a")+""+rs.getString("b")+""+rs.getString("c"));1.1.2JDBC是一種低級(jí)API,是高級(jí)API的基礎(chǔ) JDBC是個(gè)“低級(jí)”接口,也就是說,它用于直接調(diào)用SQL命令。在這方面它的功能極佳,并比其它的數(shù)據(jù)庫(kù)
6、連接API易于使用,但它同時(shí)也被設(shè)計(jì)為一種基礎(chǔ)接口,在它之上可以建立高級(jí)接口和工具。 高級(jí)接口是“對(duì)用戶友好的”接口,它使用的是一種更易理解和更為方便的API,這種API在幕后被轉(zhuǎn)換為諸如JDBC這樣的低級(jí)接口。在編寫本文時(shí),正在開發(fā)兩種基于JDBC的高級(jí)API: 一種用于Java的嵌入式SQL。至少已經(jīng)有一個(gè)提供者計(jì)劃編寫它。DBMS實(shí)現(xiàn)SQL:一種專門設(shè)計(jì)來與數(shù)據(jù)庫(kù)聯(lián)合使用的語言。JDBC要求SQL語句必須作為String傳給Java方法。相反,嵌入式SQL預(yù)處理器允許程序員將SQL語句直接與Java混在一起
7、使用。例如,可在SQL語句中使用Java變量,用以接受或提供SQL值。然后,嵌入式SQL預(yù)處理器將通過JDBC調(diào)用把這種Java/SQL的混合物轉(zhuǎn)換為Java。關(guān)系數(shù)據(jù)庫(kù)表到Java類的直接映射。JavaSoft和其它提供者都聲稱要實(shí)現(xiàn)該API。在這種“對(duì)象/關(guān)系”映射中,表中的每行對(duì)應(yīng)于類的一個(gè)實(shí)例,而每列的值對(duì)應(yīng)于該實(shí)例的一個(gè)屬性。于是,程序員可直接對(duì)Java對(duì)象進(jìn)行操作;存取數(shù)據(jù)所需的SQL調(diào)用將在“掩蓋下”自動(dòng)生成。此外還可提供更復(fù)雜的映射,例如將多個(gè)表中的行結(jié)合進(jìn)一個(gè)Java類中?! ‰S著人們對(duì)JDBC的興
8、趣日益增漲,越來越多的開發(fā)人員一直在使用基于JDBC的工具,以使程序的編寫更加容易。程序員也一直在編寫力圖使最終用戶對(duì)數(shù)據(jù)庫(kù)的訪問變得更為簡(jiǎn)單的應(yīng)用程序。例如,應(yīng)用程序可提供一個(gè)選擇數(shù)據(jù)庫(kù)任務(wù)的菜單。任務(wù)被選定后,應(yīng)用程序?qū)⒔o出提示及空白供填寫執(zhí)行選定任務(wù)所需的信息。所需信息輸入后,應(yīng)用程序?qū)⒆詣?dòng)調(diào)用所需的SQL命令。在這樣一種程序的協(xié)助下,即