亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        范群星

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

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

        范群星

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

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

        SQL;API;ODBC;JDB;UDA

        一、訪問(wèn)數(shù)據(jù)庫(kù)的接口標(biāo)準(zhǔn)

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

        1.開(kāi)放數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)(Open Data Base Connectivity,ODBC)

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

        2.Java數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)(Java DataBase Connectivity, JDBC)

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

        3.統(tǒng)一數(shù)據(jù)存取標(biāo)準(zhǔn)(Universal Data Access,UDA)

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

        二、JDBC與ODBC及與UDA的比較

        1.Java不能直接使用ODBC

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

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

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

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

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

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

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

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

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

        1.準(zhǔn)備數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)

        (1)準(zhǔn)備數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序

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

        (2)準(zhǔn)備數(shù)據(jù)庫(kù)

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

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

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

        2.編寫(xiě)訪問(wèn)數(shù)據(jù)庫(kù)的JSP文件

        上述工作準(zhǔn)備完成后就可以編寫(xiě)訪問(wèn)數(shù)據(jù)庫(kù)的代碼了。

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

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

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

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

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

        四、結(jié)束語(yǔ)

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

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

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

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

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

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

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

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

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

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

        TP

        A

        1673-0046(2010)7-0174-03

        猜你喜歡
        驅(qū)動(dòng)程序實(shí)例語(yǔ)句
        重點(diǎn):語(yǔ)句銜接
        精彩語(yǔ)句
        完形填空Ⅱ
        完形填空Ⅰ
        如何搞定語(yǔ)句銜接題
        作文語(yǔ)句實(shí)錄
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序的真心話和大冒險(xiǎn)
        综合图区亚洲另类偷窥| 久久99精品国产麻豆宅宅| 色爱区综合五月激情| 亚洲中文无码精品久久不卡| 白色月光免费观看完整版| 人人妻人人添人人爽欧美一区| 女人被爽到呻吟gif动态图视看 | 精品高潮呻吟99av无码视频| 少妇高潮惨叫久久久久电影| 天堂丝袜美腿在线观看| 色综合久久久久综合99| 成在人线av无码免费| 国产精品人成在线观看| 不卡一区二区三区国产| 亚洲av无码乱码在线观看裸奔 | 国产精品186在线观看在线播放| 蜜臀av无码精品人妻色欲| 色播在线永久免费视频网站| 国产丝袜美腿一区二区三区| 中文字幕在线日亚州9| 欧美性videos高清精品| 级毛片无码av| 亚洲精品在线免费视频| 欧美性受xxxx狂喷水| 国产爆乳乱码女大生Av| 91亚洲精品久久久中文字幕| 日韩内射美女片在线观看网站| 波多野结衣一区二区三区高清| 国语憿情少妇无码av| 日产一区日产2区日产| 少妇被粗大的猛烈进出免费视频 | 精品蜜桃av一区二区三区| 日韩av一区二区网址| 久久夜色精品国产| 国产亚洲精品综合一区| 国产熟女白浆精品视频二| 尤物在线精品视频| 日本一本久道| 日韩国产一区二区三区在线观看 | 亚洲精品国产成人AV| 日韩乱码精品中文字幕不卡|