《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > JDBC在網絡編程中的應用

JDBC在網絡編程中的應用

2008-12-30
作者:瑪依拉.別克強塔伊夫,古麗米拉

1.JDBC簡介
隨著計算機網絡技術的發展且在它的推動下, Java語言現已成為一個流行的網絡編程" title="網絡編程">網絡編程語言,這不僅是由于Java獨有的面向對象、安全性、多線程、平臺無關性等眾多的特點的,而且是因為Java有了JDBC,JDBC是Java技術最重要且最實用的部分之一,它為計算機網絡編程提供了強大的數據支持。JDBC即Java Database Connectivity,它實現了Java與數據庫的互連,它提供了一組標準的API(Application Programming Interface,應用程序設計" title="程序設計">程序設計接口)調用來進行對數據庫的訪問,也就是說JDBC API是Java程序設計語言中訪問數據的接口。有了JDBC就使Java的應用范圍擴展到了數據庫領域。在JDK以前的版本中,JDBC只是一個可選部件,到了JDK1.1公布時及其以后的版本中,SQL類包(也就是JDBC API)已成為Java語言的標準部件。JDBC由一組用Java編程語言" title="編程語言">編程語言寫的類和接口組成,它為數據庫應用開發人員、數據庫前臺工具開發人員提供了一種標準的應用程序設計接口,使開發人員可以很方便地將SQL語句傳送給幾乎任何一種數據庫。也就是說,開發人員可以不需要為了訪問Oracle、Sybase或Microsoft的SQLServer而寫3個不同的程序,而是只要寫一個程序就可訪問Oracle、Sybase或Microsoft的SQLServer。它力求達到的是Java應用如何同各種各樣的數據庫連接,而JDBC正是實現這種連接的關鍵。
2. 開發數據庫應用系統的模型
JDBC支持兩層應用模型及三層應用模型。在兩層應用模型中客戶端瀏覽器中運行的程序(例如:Java applet)可以直接與數據庫服務器相連,直接訪問此數據庫,如圖1所示。在兩層模型中,因為是程序直接同數據庫連接。這就需要能直接被訪問的數據庫進行連接的JDBC驅動器。用戶的SQL語句被傳送給數據庫,而這些語句執行的結果將被傳回給用戶。在三層應用模型中客戶端瀏覽器中運行的程序不可以直接與數據庫服務器相連,不能直接訪后臺數據庫,而是在這兩者之間增加了一個中間Web服務器,如圖2所示。首先客戶機與中間服務器通信,由中間服務器處理客戶機的請求,其命令將被發送到中間Web服務器,而中間Web服務器將SQL語句發送到數據庫。數據庫處理SQL語句并將結果返回中間Web服務器,然后中間Web服務器將它們返回用戶。也就是說在三層應用模型中由中間服務器使用JDBC訪問數據庫。

3. JDBC的任務及JavaSQL包
??? JDBC能完成下列三件任務: ⑴同一個數據庫建立連接;⑵向數據庫發送SQL語句;⑶處理數據庫返回的結果,而完成這些任務,要使用到java.sql包中的一系列類(class)、接口(interface)、方法(method)。 實際上JDBC的是兩組面向應用程序和數據庫驅動程序開發人員的API,以及將前者向后者轉化的內在封裝邏輯。這兩組API即:面向數據庫驅動程序開發人員的接口:JDBC Driver API和面向應用程序開發人員的接口JDBC API,前者是提供給數據庫管理系統" title="管理系統">管理系統的生產廠家的,一般的網頁編程開發人員不需要知道也可,而JDBC API有兩個包java.sql和javax.sql,這是Java核心框架的組成部分,網絡編程人員通過一定的規則調用這些包中的API,就可以能夠實現對數據庫管理系統的訪問,開發各種動態網站系統。這個包中最重要的接口是:
??? ⑴java.sql.DriverManager: 用來加載" title="加載">加載不同的JDBC驅動程序,對于給定的每一個連接請求,它將會依次讓每一個驅動程序盡可能連接到目標URL上,為創建新的數據庫鏈接提供支持。
??? ⑵java.sql.Connection:完成對某一制定數據庫的連接功能。而連接是與給定數據庫的會話,當連接成功時,SQL才被執行和返回結果。
??? ⑶java.sql.Statement:用來在一個已經創建的連接中,執行SQL語句并包含語句所產生的結果,即作為執行SQL語句的容器。在執行的任何時候,一個語句只能打開一個結果集。
??? ⑷java.sql.Result:代表特定SQL語句執行后的數據庫結果集。
4. 通過JDBC訪問Web數據庫
??? 要通過JDBC訪問數據庫,可以分以下幾步完成
??? ⑴加載驅動程序:為了和的特定數據庫鏈接,JDBC首先必須加載相應的驅動程序,驅動程序可以使用最常用的JDBC-ODBC bridge驅動程序,其方法為使用Class.forName();方法,也可以使用JDBC到通用網絡協議的驅動程序;還可以使用由數據庫廠商提供的驅動程序,其加載方法都一樣要使用Class.forName()方法, 且在此方法的括號中填入驅動器名即可,例如使用JDBC-ODBC bridge驅動程序,程序代碼書寫格式為Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);,也可以在Class.forName()方法括號中填入一系列用冒號隔開的驅動器名,例如:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver:oracle.jdbc.driver.OracleDriver”);,這時JDBC將按照表的順序搜索驅動程序,并使用第一個能成功地與給定的URL相連的驅動程序。
??? ⑵建立同數據庫的連接:DriverManager類中的方法getConnection用于建立于某個數據庫鏈接。在與較小型的數據庫例如Foxpro、Access連接時,只要指出數據源信息而不需要任何其他的附加條件,例如:
java.lang.String strCon = 'jdbc:odbc:st';
java.sql.Connection jsCon = java.sql.DriverManager.getConnection(strCon); 但在大型數據庫中建立連接時需要給出用戶名和密碼,其使用方法為:
Connection Con = java.sql.DriverManager.getConnection(String url,String user,String password);。
??? ⑶申請進行數據庫操作的對象:建立連接后,在實際的數據庫操作之前,要獲得操作數據庫的語句對象。其方法為,利用Con對象生成一個java.sql.Statement對象,此對象可以負責完成將SQL語句傳遞給數據庫管理系統執行等任務。
??? ⑷進行數據庫操作:數據庫操作工作包括查詢表、更新表等,可以分別使用SQL SELECT、SQL UPDATE和SQL INSERT語句來完成。數據庫的查詢和修改操作分別通過executeQuery()和executeUpdate()方法實現。格式為:
java.sql.ResultSet jsRes = jsSta.executeQuery(strSQL);
??? ⑸對數據庫操作的結果進行處理:查詢操作返回的結果集要進行處理,例如:按照某種數據類型取出數據庫中某一列的值其程序代碼格式為:
int SID = jsRes.getInt(4);
String TName = jsRes.getString('WSTName');。
⑹關閉數據庫操作對象:數據庫操作結束后,要將數據庫操作結果集以及申請的語句對象和建立的數據庫鏈接關閉。其程序代碼為:
java.sql.Connection jsCon=null; //數據庫連接對象
java.sql.Statement jsSta=null; //SQL語句對象
java.sql.ResultSet jsRes=null; //結果集對象
… …
jsRes.close();//關閉結果集
jsSta.close();//關閉SQL語句對象
jsCon.close();//關閉數據庫??
5.實例
??? 數據庫連接是網絡編程的重要部分, Java程序就通過JDBC驅動程序與數據庫相連,執行查詢、提取、插入數據等等操作。我完成的省級課題基于Java技術的通用考試系統,采用Java JDBC技術對于數據庫進行連接,微軟公司Access2000數據庫系統為后臺數據庫,其數據庫中包含5個表:學生信息表USER:用于存放考生的信息,包括學號、考號、班級、姓名、交卷標記及考試成績等;考試科目分類表TMFL:用于存放課程信息,包括各課程的名稱及課程代碼等;試題信息表TMXX:用于存放各課程的試題,為了便于管理;答題表TATIB:用于存放所有考生的答題信息,包括學號、題號、答題信息等;答題目錄表TATIML等:用于管理答題結果。此系統中連接數據庫且獲得數據的關鍵代碼為:
… … … …
java.sql.Connection jsCon; //數據庫連接對象
java.sql.Statement jsSta; //SQL語句對象
java.sql.ResultSet jsRes; //結果集對象
java.lang.String strCon;??? //數據庫連接字符串
java.lang.String strSQL;??? //SQL語句
int RCount=0;
int CIndex=0;
int Len=0;
double i=0;
int j=0;
… … … …
Class.forName('sun.jdbc.odbc.JdbcOdbcDriver');//裝載JDBC驅動程序
strCon = 'jdbc:odbc:st';//設置數據庫連接字符串
jsCon = java.sql.DriverManager.getConnection(strCon); //連接數據庫
jsSta = jsCon.createStatement();//創建一個可以滾動的只讀的SQL語句對象
… … … …
strSQL = 'select WSTName,DSTName,STDD,STID,keID from TMXX where STID='+j ; //準備SQL語句
//執行SQL語句并獲取結果集
jsRes = jsSta.executeQuery(strSQL);
while( jsRes.next()){?
int SID = jsRes.getInt(2);
String? STDD = jsRes.getString('STDD');
String? TName = jsRes.getString('WSTName');
String DSTN=jsRes.getString('DSTName');
…? …? …? … }
jsRes.close();//關閉結果集
jsSta.close();//關閉SQL語句對象
jsCon.close();//關閉數據庫??
… … … …}

??? 基于Java技術的通用考試系統,從數據庫中獲得數據且顯示題目的界面如圖3所示。

??
參考文獻
[1] 王克宏.Java語言SQL接口[M].北京:清華大學出版社,1997.
[2] 雨陽隆春.深入JSP網絡編程[M]. 北京:清華大學出版社,2001.
[3] 路新春,劉國玲.JSP應用中的信息共享與傳遞技術[J].計算機應用,2003,(3)

基金項目:新疆自治區少數民族科技骨干人才特殊培養科研專項資金項目(2001—5)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲缚视频在线观看| 国产精品高清一区二区三区| 国产一区二区| 欧美日韩精品免费观看视频完整| 亚洲无亚洲人成网站77777| 亚洲九九精品| 一色屋精品视频免费看| 亚洲免费大片| 欧美亚洲一级片| 欧美a一区二区| 欧美天堂在线观看| 久久尤物视频| 亚洲精品精选| 久久久精品五月天| 国产精品福利av| 国产精品高清免费在线观看| 久久国产精品久久久| 欧美国产日韩二区| 欧美黄免费看| 午夜精品一区二区三区在线播放| 亚洲激情国产| 欧美日韩在线三区| 亚洲乱码国产乱码精品精天堂| 久久九九精品| 欧美国产精品专区| 亚洲精品亚洲人成人网| 国产自产高清不卡| 久久国产精品99精品国产| 国产精品家庭影院| 最新69国产成人精品视频免费| 国产精品网站一区| 亚洲国产综合在线看不卡| 狠狠狠色丁香婷婷综合久久五月| 欧美极品一区二区三区| 国产精品igao视频网网址不卡日韩| 欧美日韩国产在线播放网站| 国产中文一区二区三区| 久久国产精品久久久久久久久久| 欧美精品一区二区三区一线天视频| 欧美高潮视频| 欧美专区第一页| 国产精品亚洲片夜色在线| 久久女同精品一区二区| 国产精品久久综合| 一本色道88久久加勒比精品| 亚洲自拍另类| 在线播放一区| 91久久国产精品91久久性色| 国产麻豆精品视频| 夜夜嗨av一区二区三区| 国产伦精品一区二区三区高清版| 国产视频精品va久久久久久| 久久免费观看视频| 午夜欧美理论片| 久久精品av麻豆的观看方式| 欧美—级在线免费片| 久久久.com| 激情亚洲成人| 亚洲黄色av| 亚洲免费网址| 国产精品视频久久一区| 亚洲国产欧美在线人成| 欧美全黄视频| 久久久91精品国产一区二区精品| 久久精品国产清自在天天线| 欧美有码在线视频| 狠狠色狠色综合曰曰| 国产亚洲欧美另类中文| 久久九九全国免费精品观看| 国产日韩一区欧美| 欧美国产一区在线| 亚洲国产精品va在看黑人| 黄色成人精品网站| 欧美在线播放高清精品| 亚洲图片在线| 一区二区三区高清不卡| 噜噜噜噜噜久久久久久91| 久久精品噜噜噜成人av农村| 国产精品一区二区欧美| 毛片基地黄久久久久久天堂| 麻豆成人在线观看| 欧美激情中文字幕乱码免费| 亚洲精品国产无天堂网2021| 欧美另类69精品久久久久9999| 欧美性jizz18性欧美| 玖玖国产精品视频| 久久嫩草精品久久久久| 欧美在线播放一区二区| 欧美大片国产精品| 激情综合色丁香一区二区| 国产欧美日韩三区| 亚洲免费观看高清在线观看| 久久国产主播精品| 亚洲精品九九| 欧美日韩免费观看一区三区| 久久综合网络一区二区| 国产精品白丝jk黑袜喷水| 香蕉久久一区二区不卡无毒影院| 亚洲精品久久视频| 欧美日韩亚洲一区二区三区在线观看| 亚洲人成网站在线观看播放| 一区二区三区视频免费在线观看| 欧美视频一区| 美女视频一区免费观看| 在线免费观看成人网| 欧美一区二区在线免费观看| 欧美黑人国产人伦爽爽爽| 国产精品成人观看视频免费| 亚洲在线成人| 在线播放亚洲| 国产日韩在线看| 国产精品超碰97尤物18| 在线观看亚洲精品| 在线观看视频免费一区二区三区| 亚洲欧美在线磁力| 久久精品国产999大香线蕉| 狠狠色丁香婷婷综合影院| 欧美日韩伊人| 亚洲综合电影一区二区三区| 狠狠色丁香久久婷婷综合_中| 亚洲欧美日韩国产成人| 噜噜噜91成人网| 在线欧美小视频| 欧美一级视频| 国产亚洲欧美日韩精品| 久久精品91久久香蕉加勒比| 欧美日韩国产片| 亚洲日本欧美天堂| 国产精品视频观看| 欧美先锋影音| 欧美精品电影| 久久国产精品72免费观看| 一本到12不卡视频在线dvd| 韩国精品在线观看| 亚洲精品一二三| 1000精品久久久久久久久| 亚洲网站在线| 国产精品视频一区二区三区| 欧美制服丝袜第一页| 国内久久精品视频| 美女黄网久久| 亚洲国产美女精品久久久久∴| 欧美一区二区三区喷汁尤物| 欧美性大战久久久久久久| 亚洲制服丝袜在线| 欧美调教视频| 国产女人aaa级久久久级| 久久久久成人网| 国产精品国产三级国产专区53| 一区二区精品国产| 亚洲精品九九| 老牛影视一区二区三区| 久久综合精品一区| 99在线|亚洲一区二区| 亚洲福利在线观看| 欧美高清hd18日本| 国产精品视频网| 欧美日韩国产综合网| 国产亚洲精品久久久久婷婷瑜伽| 亚洲二区在线视频| 欧美.com| 女同性一区二区三区人了人一| 亚洲一本大道在线| 亚洲人成网站影音先锋播放| 国产亚洲人成网站在线观看| 欧美日产国产成人免费图片| 国产精品久久久久久久久搜平片| 蜜臀av在线播放一区二区三区| 久久久亚洲午夜电影| 亚洲无限乱码一二三四麻| 国产日韩欧美综合一区| 亚洲精品在线视频观看| 欧美激情视频一区二区三区在线播放| 国内外成人免费激情在线视频网站| 一本色道久久88综合日韩精品| 欧美91福利在线观看| 国产综合久久久久久鬼色| 国产精品久久久久久久第一福利| 国模大胆一区二区三区| 亚洲欧美卡通另类91av| 久久精品五月婷婷| 国产精品xxxav免费视频| 久久爱www久久做| 狠狠色丁香婷婷综合影院| 久久精品日韩一区二区三区| 欧美a一区二区| 欧美一区二区黄色| 老牛国产精品一区的观看方式| 亚洲人成人99网站| 欧美成年人视频网站| 欧美日韩中文字幕精品| 午夜在线a亚洲v天堂网2018| 久久精品噜噜噜成人av农村| 久久av一区二区三区漫画| 亚洲精品在线三区| 亚洲精品字幕| 国内在线观看一区二区三区| 欧美一区在线直播| 日韩视频中午一区| 欧美高清视频在线| 欧美日韩免费高清一区色橹橹| 亚洲影视在线| 国产伦一区二区三区色一情| 国产婷婷色一区二区三区四区| 久久久青草青青国产亚洲免观| 欧美日韩一区综合| 国产女同一区二区| 久久精品一区蜜桃臀影院| 91久久精品视频| 欧美经典一区二区三区| 亚洲三级毛片| 99爱精品视频| 亚洲欧洲午夜| 美女主播精品视频一二三四| 国产精品ⅴa在线观看h| 欧美理论在线播放| 欧美极品一区二区三区| 99精品久久| 在线免费观看欧美| 亚洲国产高清一区二区三区| 免费观看在线综合色| 国产欧美日韩免费看aⅴ视频| 精久久久久久久久久久| 欧美大片在线影院| 毛片av中文字幕一区二区| 亚洲视频网在线直播| 麻豆av福利av久久av| 另类欧美日韩国产在线| 欧美www视频| 欧美日本乱大交xxxxx| 亚洲一区免费视频| 美女诱惑一区| 卡通动漫国产精品| 久久久久久夜精品精品免费| 亚洲成人在线网站| 狠狠操狠狠色综合网| 亚洲人成艺术| 免费观看30秒视频久久| 狠狠入ady亚洲精品经典电影| 一区二区不卡在线视频 午夜欧美不卡'| 欧美日本一道本在线视频| 欧美成人激情视频免费观看| 国产精品一区免费视频| 一区二区三区高清不卡| 国产精品自在线| 另类图片综合电影| 中国日韩欧美久久久久久久久| 尤物在线观看一区| 国产精品v亚洲精品v日韩精品| 久久一区二区精品| 欧美精品成人在线| 久久av一区二区三区| 久久久亚洲国产天美传媒修理工| 欧美午夜电影在线观看| 亚洲电影免费在线| 亚洲剧情一区二区| 欧美成人精品在线播放| 欧美69wwwcom| 久久亚洲影院| 一区二区三区欧美亚洲| 国产日韩在线一区| 小辣椒精品导航| 亚洲一二三四久久| 亚洲性人人天天夜夜摸| 亚洲大片av| 久久久精品网| 亚洲男人av电影| 午夜激情亚洲| 国产午夜精品久久| 美女视频黄a大片欧美| 国产网站欧美日韩免费精品在线观看| 午夜精品久久久久久99热软件| 久久精品久久99精品久久| 在线一区二区三区四区五区| 国产酒店精品激情| 欧美小视频在线观看| 亚洲视频专区在线| 欧美中文在线观看国产| 午夜亚洲精品| 欧美在线观看www| 欧美一区二区精美| 欧美韩国日本综合| 欧美午夜精品久久久久久孕妇| 在线欧美福利| 国自产拍偷拍福利精品免费一| 欧美精品午夜视频| 亚洲精品一区二区三| 国产精品二区影院| 亚洲精品中文在线| 亚洲一区二区精品| 国产精品99久久久久久久久| 国产永久精品大片wwwapp| 欧美人交a欧美精品| 99精品欧美一区二区三区综合在线| 另类天堂视频在线观看| 欧美 日韩 国产 一区| 欧美亚洲在线观看| 国产精品久久夜| 在线一区视频| 国产日产亚洲精品系列| 国产精品高潮久久| 久久免费视频这里只有精品| 国产无遮挡一区二区三区毛片日本| 欧美日韩一级大片网址| 国产精品久久久久91| 一区二区三区不卡视频在线观看| 日韩视频在线一区| 狠狠色伊人亚洲综合网站色| 国产精品theporn| 国产一区二区久久精品| 欧美主播一区二区三区美女 久久精品人| 亚洲激情校园春色| 欧美成人首页| 这里只有精品视频| 欧美日韩一区在线播放| 日韩亚洲欧美在线观看| 欧美日韩专区在线| 国产精品麻豆va在线播放| 亚洲欧美国产精品专区久久| 国产精品日韩欧美一区二区| 亚洲一区二区三区久久| 久久嫩草精品久久久精品| 免费成人av在线看| 亚洲欧美日韩一区二区在线| 亚洲一区二区在线看| 亚洲福利视频免费观看| 在线成人欧美| aa亚洲婷婷|