• 
    

    
    

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

      基于JDBC的數(shù)據(jù)庫訪問技術(shù)的實現(xiàn)

      2010-09-07 10:40:16范群星
      關(guān)鍵詞:驅(qū)動程序實例語句

      范群星

      (山西交通職業(yè)技術(shù)學(xué)院,山西 太原 030031)

      基于JDBC的數(shù)據(jù)庫訪問技術(shù)的實現(xiàn)

      范群星

      (山西交通職業(yè)技術(shù)學(xué)院,山西 太原 030031)

      為了避免應(yīng)用對數(shù)據(jù)庫的依賴性過強,使應(yīng)用適用于不同的DBMS,JDBC數(shù)據(jù)庫連接標準為Java應(yīng)用程序提供了統(tǒng)一的API接口,可以很容易地把SQL語句傳送到任何關(guān)系型數(shù)據(jù)庫中。論文介紹了多種訪問數(shù)據(jù)庫的接口標準,并進行了比較,同時使用簡單實例演示了JDBC連接數(shù)據(jù)庫的過程。

      SQL;API;ODBC;JDB;UDA

      一、訪問數(shù)據(jù)庫的接口標準

      數(shù)據(jù)庫向用戶提供的數(shù)據(jù)查詢語言SQL是標準的,但這并不意味著數(shù)據(jù)庫對應(yīng)用提供的API(Application Program Interface)也是標準的。從應(yīng)用開發(fā)的角度看,各個數(shù)據(jù)庫產(chǎn)品生產(chǎn)商向程序提供的API接口差異還是比較大的,因此,選擇適應(yīng)性更強的數(shù)據(jù)庫連接標準顯得非常重要。

      1.開放數(shù)據(jù)庫連接標準(Open Data Base Connectivity,ODBC)

      ODBC由Microsoft公司提供,定義了數(shù)據(jù)庫訪問的應(yīng)用程序接口,即API接口。ODBC的目的是屏蔽各種數(shù)據(jù)庫存取API接口的差異,為訪問數(shù)據(jù)庫的應(yīng)用程序提供了一致的接口。應(yīng)用程序可以通過稱為ODBC驅(qū)動程序的不同的數(shù)據(jù)庫引擎訪問不同的數(shù)據(jù)庫管理系統(tǒng)。

      2.Java數(shù)據(jù)庫連接標準(Java DataBase Connectivity, JDBC)

      JDBC和ODBC類似,它為Java應(yīng)用程序提供了統(tǒng)一的API接口。JDBC包括兩個基本部分:一部分是面向開發(fā)人員的JDBCAPI,其作用是為程序員提供不同的數(shù)據(jù)庫連接方式;另一部分是JDBC驅(qū)動程序,它可以建立在ODBC基礎(chǔ)上,即程序?qū)DBC的訪問先轉(zhuǎn)換為對ODBC的調(diào)用,然后利用ODBC完成數(shù)據(jù)庫訪問;JDBC也可以直接與數(shù)據(jù)庫連接。目前幾乎所有的應(yīng)用服務(wù)器都為Java程序提供JDBC接口。

      3.統(tǒng)一數(shù)據(jù)存取標準(Universal Data Access,UDA)

      UDA是Microsoft公司提出的一種標準,它也力圖為應(yīng)用程序給出一個統(tǒng)一的API接口,其特點在于它針對的數(shù)據(jù)源不僅僅局限于關(guān)系數(shù)據(jù)庫,而且可以是非關(guān)系型的數(shù)據(jù)文件、圖形圖像等。在UDA機制中,應(yīng)用程序通過ADO(Advanced Data Object)接口訪問數(shù)據(jù),而ADO可通過OLE DB訪問非關(guān)系型的數(shù)據(jù)或者通過ODBC驅(qū)動程序訪問不同的數(shù)據(jù)庫。

      二、JDBC與ODBC及與UDA的比較

      1.Java不能直接使用ODBC

      因為ODBC使用C語言接口,如果讓Java來調(diào)用本機C代碼的話,那會在安全、屬性、應(yīng)用的可移植性等方面帶來困難。

      2.通過JDBC,可直接把ODBC翻譯成具有Java風格的面向?qū)ο蟮慕涌?/p>

      例如,ODBC使用了大量的易于出錯的指針,而Java取消了這種不安全的指針,無須逐字翻譯。

      3.JDBC的Java API提供“純Java”的解決辦法

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

      4.UDA的應(yīng)用不夠廣泛

      UDA雖然提供了對不同數(shù)據(jù)源的一致的存取方式,但是遺憾的是,UDA機制目前除了在Microsoft的產(chǎn)品中有深入應(yīng)用外,其他IT廠商在產(chǎn)品方面的支持并不非常廣泛。

      三、使用JDBC連接數(shù)據(jù)庫實例

      該實例使用的數(shù)據(jù)庫管理系統(tǒng)是MySQL,JSP容器是Tomcat 6.0,使用的MySQL版本是mysq1-6.0.11-alpha,Tomcat的版本是apache-tomcat-6.0.18。將兩個軟件分別進行安裝、配置及測試。

      1.準備數(shù)據(jù)庫驅(qū)動程序和數(shù)據(jù)庫

      (1)準備數(shù)據(jù)庫驅(qū)動程序

      要使用JDBC連接數(shù)據(jù)庫,JDBC數(shù)據(jù)庫驅(qū)動程序是必不可少的,它是數(shù)據(jù)庫和Java編程語言的接口,這里所使用的數(shù)據(jù)庫驅(qū)動程序是mysq1-connector-java-5.1.10,將從 MySQL官方網(wǎng)站(http://www.mysql. com)上下載的壓縮包(mysql-connector-java-5.1.10.zip)解壓縮到本地硬盤,然后將解壓目錄下的mysql-connector-java-5.1.10-bi n.j a r文件復(fù)制到 <TOMCAT_HOME>/lib目錄下。

      (2)準備數(shù)據(jù)庫

      新建名為jdbctestdb的數(shù)據(jù)庫,并在其下建立一個名為animalInfo的表,表中各數(shù)據(jù)字段如表1所示,并在表中添加如下的數(shù)據(jù),如表2所示。

      表1 animalInfo數(shù)據(jù)表的數(shù)據(jù)字段

      表2 animalInofo數(shù)據(jù)表的數(shù)據(jù)

      2.編寫訪問數(shù)據(jù)庫的JSP文件

      上述工作準備完成后就可以編寫訪問數(shù)據(jù)庫的代碼了。

      在該例中,要實現(xiàn)的功能就是把數(shù)據(jù)庫中的數(shù)據(jù)查詢出來并在頁面上顯示,將以下JSP文件代碼保存到j(luò)dbc.jsp文件中:

      3.發(fā)布訪問數(shù)據(jù)庫的Web應(yīng)用

      首先,在<TOMCAT_HOME>/webapps目錄下新建一個 JDBCFirst文件夾,在該文件夾下創(chuàng)建目錄WEB-INF,并在WEB-INF下創(chuàng)建目錄classes和文件web.xml。web.xml的代碼如下:

      其次,將 jdbc.jsp文件和數(shù)據(jù)庫驅(qū)動程序mysql-connector-java-5.1.10.zip解壓目錄下的src文件夾復(fù)制到JDBCFirst目錄下。

      最后,啟動Tomcat,然后在瀏覽器地址欄中輸入如下地址:http://localhost:8080/JDBCFirst/jdbc.jsp,可以看到顯示結(jié)果。

      四、結(jié)束語

      1.Java數(shù)據(jù)庫連接(JDBC)由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,使他們能夠用純Java API來編寫數(shù)據(jù)庫應(yīng)用程序,并支持將SQL語句發(fā)送到相應(yīng)的任何一種關(guān)系型數(shù)據(jù)庫,從而實現(xiàn)與數(shù)據(jù)庫的連接。

      2.由于在配置MYSQL服務(wù)器時,已經(jīng)將其字符集設(shè)置為gb2312,而JSP文件也使用gb2312編碼,所以在顯示字符串內(nèi)容時,不需要進行字符集的轉(zhuǎn)換。否則就需要在顯示內(nèi)容的語句中使用<%=new String(rs. getString(“XXXX”).getBytes(“ISO8859-1”),”gb2312”)%>這樣的語句進行字符集的轉(zhuǎn)換,以使數(shù)據(jù)能正常顯示。

      3.如果在運行時提示javax.servlet.ServletException: com.mysql.jdbc.Driver或java.lang.ClassNot FoundException:com.mysql.jdbc.Driver錯誤,請確保已經(jīng)正確安裝了數(shù)據(jù)庫驅(qū)動程序。

      4.直接在命令提示符下進行mysql數(shù)據(jù)庫的操作比較復(fù)雜,如果使用mysql提供的mysqldump工具實現(xiàn)的話,就容易且方便得多。

      [1]劉軍,馬敏書.電子商務(wù)系統(tǒng)的分析與設(shè)計[M].北京:高等教育出版社,2008:286-295.

      [2]鄭彥孚.MySQL的JDBC編程實例[J].電腦開發(fā)及應(yīng)用,2007,(1):58-63.

      [3]樊新華,孟鉑.基于JDBC的通用的訪問數(shù)據(jù)庫方法[J].電腦知識與技術(shù),2008,(7):1545-1546,1554.

      [4]張作宸.JDBC原理及操縱數(shù)據(jù)庫方法[J].科技信息,2009,(2):490.

      [5]童少娟.淺談Java數(shù)據(jù)庫連接[J].中國校外教育,2009,(7):168.

      [6]郭廣軍,陳代武,胡玉平,李芝城.基于JDBC的數(shù)據(jù)庫訪問技術(shù)的研究[J].南華大學(xué)學(xué)報(自然科學(xué)版),2005,(6):50-54,57.

      TP

      A

      1673-0046(2010)7-0174-03

      猜你喜歡
      驅(qū)動程序實例語句
      重點:語句銜接
      精彩語句
      完形填空Ⅱ
      完形填空Ⅰ
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      作文語句實錄
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序的真心話和大冒險
      永德县| 吉木萨尔县| 奉贤区| 宝鸡市| 攀枝花市| 阜南县| 奉化市| 株洲市| 红桥区| 郴州市| 凤阳县| 治多县| 金山区| 自贡市| 福建省| 英吉沙县| 阿拉善右旗| 永修县| 怀柔区| 乐业县| 东乌珠穆沁旗| 安丘市| 沛县| 肇州县| 冷水江市| 石景山区| 易门县| 云阳县| 寿宁县| 合川市| 太和县| 亚东县| 石渠县| 乌兰县| 潼关县| 木里| 民县| 什邡市| 油尖旺区| 广西| 铁岭县|