亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

應用Java技術實現數據庫應用系統

2019-11-18 12:03:10
字體:
來源:轉載
供稿:網友

  [內容提要] 本文具體介紹了java數據庫編程的JDBC API及java.sql包。并以 Java 技術設計、開發、實踐的一個數據庫應用治理系統案例為模板,結合 Java2 平臺程序進行說明 Java 面向對象的語言的開發思路、語言特色、安全機制以及案例的具體實現步驟、方法及過程等。相信通過本文的介紹,廣大的開發者會領略 Java 面向對象語言的風采,深深體會 Java 的開發思想。從而為廣大用戶提供另外一種高效的、前瞻性的治理信息系統及Live Intranet解決方案。
  
  [要害詞] OOP NC JDBC APPLET application MIS Live Intranet
  
  Java 語言是Sun MicroSystems 公司于1995年正式命名并推出的一種面向對象的編程語言-OOP(abbr.Object Oriented PRogramming)。Sun 公司說:Java 程序設計語言被設計成是 by programmers for programmers,其隨著 Internet 的發展而廣為流行。用它開發的系統“一次開發,到處運行”的特色以及程序開發設計時所體現出的面向對象的思想深深地觸動著人們。它的語言簡潔、集多種程序設計語言之大成,且面向對象、具有可移植性、分布性、安全性、高性能等特色。Java在向Internet/Intranet,甚至計算機世界的各個領域滲透,慢慢改變著人們的思維。而今Internet 熱浪一浪高過一浪,從外部世界走向企業內部形成Intranet,促進了Java 技術的利用開發。計算機業界中的IBM、ORACAL 、APPLE、Sun、Netscape五家公司還聯合推出“網絡計算機(NC-1)”規范。拋開“Wintel”臃腫不堪的體系結構,使用戶端價格低廉、易于使用,并成為能夠連接網絡的簡單計算機-NC(Network Computer),即所說的“瘦客戶”機,NC 支持Java 虛擬機(JVM),能夠運行Java開發的應用程序(Application)和小程序(Applet)并支持多媒體應用。NC 和Java 的結合誕生了新的時代:網絡計算機時代。就連Sun的冤家對頭Microsoft的比爾.蓋茨也不得不承認:“Java是長時間以來最卓越的程序設計語言”。
  
  一、 Java 數據庫基礎 JDBC API
  Java語言在數據庫應用方面,非凡在基于Web 的B/S結構的在線數據庫應用方面的煩瑣復雜配置等,并不能使用戶和程序開發雙方都十分滿足。SunSoft雖提供了用Java語言編寫成的Java與數據庫的接口規范JDBC(Java DataBase Connectivity,而JavaSoft說JDBC并不代表什么),使Java程序可以通過統一標準規范的JDBC API來與不同的數據庫通信。確保了“100%純Java”的解決方案。JDBC API 定義了Java中的類和接口,表示數據庫連接、SQL 指令、結果集合等。它答應Java程序員發送SQL 指令并處理結果。JDBC API 提供兩種主要接口:一是面向開發人員的java.sql程序包,使得Java程序員能夠進行數據庫連接,執行SQL查詢,并得到結果集合。Java2 的java.sql包提供了6個類和18個接口,下文將介紹;另一是面向底層數據庫廠商的JDBC Drivers ,目前為止,Java2的JDBC Drivers僅提供下述四種類型的數據庫驅動方式,且各有利弊:
  (1) JDBC-ODBC bridge plus ODBC driver 方式:JDBC-ODBC 橋接方式利用微軟的開放數據庫互連接口(ODBC API)同數據庫服務器通訊,客戶端計算機首先應該安裝并配置ODBC driver 和JDBC-ODBC bridge兩種驅動程序。這是Applets訪問你的數據庫最可能的解決方式,但這對Internet 和Intranet 用戶而言簡直是一個非常令人討厭和麻煩的解決方案。
  (2) Native-API partly Java driver方式:這種驅動方式將數據庫廠商的非凡協議轉換成Java代碼及二進制類碼,使Java 數據庫客戶方與數據庫服務器方通信。例如:Oracle用SQLNet協議,DB2用IBM 的數據庫協議。數據庫廠商的非凡協議也應該被安裝在客戶機上。這也是令人討厭和麻煩的解決方案。
  (3) JDBC-Net pure Java driver方式:這種方式是純Java driver。數據庫客戶以標準網絡協議(如HTTP、SHTTP)同數據庫訪問服務器通信,數據庫訪問服務器然后翻譯標準網絡協議成為數據庫廠商的專有非凡數據庫訪問協議(也可能用到ODBC driver)與數據庫通信。對Internet 和Intranet 用戶而言這是一個理想的解決方案。Java driver 被自動的,以透明的方式隨Applets自Web服務器而下載并安裝在用戶的計算機上。
  (4) Native-protocol pure Java driver方式:這種方式也是純Java driver。數據庫廠商提供了非凡的JDBC協議使Java數據庫客戶與數據庫服務器通信。然而,將把代理協議同數據庫服務器通信改用數據庫廠商的非凡JDBC driver。這對Intranet 應用是高效的,可是數據庫廠商的協議可能不被防火墻支持,缺乏防火墻支持在Internet 應用中會存在潛在的安全隱患。
  綜上四種方式中,只有第三、四種方式的驅動支持 Applet的零安裝。因為JDBC drivers 完全用Java 寫成,并從Web 服務器上隨applet下載。為了支持零安裝,驅動程序應該被放在Web上,并與applet 在相同目錄。而第四種存在安全隱患,第三種產品為數不多,現今較成熟的IDS JDBC driver屬于此種(http://www.idssoftware.com),但也要用到ODBC driver輔助。
  即便如此,利用Java技術開發單機環境應用程序,局域網范圍或Intranet環境下的應用程序、動態Web應用(Live Intranet)等,Java語言是高效、安全、穩定的。Java語言已贏得了眾多廠商的支持,基于其上的Java API-JDBC也發展迅速。Sun承諾任何Java Applet 或Java應用軟件都能夠與數據庫結合,并且仍將不遺余力的支持未來Java技術的發展。Java語言的跨平臺特性,使之成為Internet和Intranet環境下開發數據庫應用系統的理想選擇方案。
  
  二、 Java 數據庫應用系統的實現
  基于此,筆者用Java 2 SDK,Standard Edition Version 1.2.1版本為開發工具,以已經成功開發的Java數據庫應用系統案例為模板,結合Java2程序語句及java.sql包,介紹一下Java數據庫應用系統開發的具體實現步驟、方法等。
  
  1.設置數據庫的連接
  為了利用JDBC,你將需要一個數據庫服務器和一個數據庫驅動器。因為大多數讀者的計算機已經安裝了Windows95/98,我就用微軟的 access 97做為我的數據庫服務器(具體為Action.mdb),當然你也可以用其它的數據庫作為數據庫服務器。因為對JDBC而言,數據庫服務器的類型無關緊要,JDBC會提供一個獨立于數據庫服務器的訪問數據庫的方法。這是JDBC的主要優勢所在。
  你將還需要一個數據庫驅動器,用來提供JDBC與你的數據庫的連接。作者選用了較可能的JDBC-ODBC bridge 方式。為此需設置32-bit ODBC的數據源,選擇System DSN(數據可被多用戶訪問,User DSN不同),增加新的數據源,配置新數據源的路徑為Action.mdb數據庫服務器的所在位置。
  安裝完成,Java程序員可以進行編制程序的階段。首先程序員引用java.sql 包中相應的類與接口來進行對JDBC驅動器的治理:用Class 類中的 forName() 方法裝入 JDBC驅動器,以JDBC-ODBC bridge 方式為例,裝入JDBC驅動執行的語句為Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);用DriverManager 類中getDrivers()方法返回所有安裝在你的計算機中的JDBC驅動器,getConnection()建立與數據庫的連接等。getConnection()方法提供下面三種形式:
  getConnection(String url)
  getConnection(String url,String userID,String passWord)
  getConnection(String url,Properties arguments)
  其中字符串url表示數據庫服務器所在處的非凡的URL。URL是被用來與不同的數據庫驅動建立連接的統一網絡資源,其形式如下:
  jdbc:subprotocol:subname
  所有的JDBC數據庫協議開始于jdbc:。Subprotocol是被用來辨別JDBC驅動方式的。例如:JDBC-ODBC bridge 用jdbc:odbc:subname 這種用戶協議形式,IDS JDBC driver 用jdbc:ids:subname 形式。數據庫協議的subname標識數據庫并且與subprotocol 和JDBC驅動方式有關。例如,以JDBC-ODBC bridge方式,我用下面的URL形式建立與數據源Tend建立連接:
  jdbc:odbc:tend
  getDrivers()和getConnection()方法是DriverManager類中最重要的方法,還有其它一些方法在此略。
  
  2.與數據庫進行連接
  用DriverManager類的getConnection() 方法建立起與數據庫連接,getConnection()返回一個對象,此對象是java.sql包中的Connection 接口對象。該接口定義了與之連接的數據庫交互的一些方法、常量等,這些方法用來治理數據庫的連接、獲得連接的信息、提交數據庫處理事件并且預處理可執行的SQL語句。下面是Connection 接口的一些重要的方法:
  close()-關閉一個數據庫連接
  getMetaData()-返回一個DatabaseMetaData 接口對象,該接口能被用來獲得有關數據庫的具體信息,包括數據庫結構和數據庫內容等。
  createStatement()-創建一個SQL語句對象。
  prepareStatement()-用SQL字符串創建一個SQL 預處理語句對象。預處理語句對象是可以被高效執行的預編譯過的SQL語句。
  下面提供一段程序,實現了JDBC的驅動及數據庫的連接,供參考:
  import java.sql.*;
  import java.util.*;
  class ConnectApp {
  public static void main(String args[]) {
  try{
  // Load the JDBC-ODBC bridge driver方式
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  String url="jdbc:odbc:tend";
  // 連接到數據庫
  Connection connection=DriverManager.getConnection(url);
  // 得到數據庫的信息
  DatabaseMetaData meta=connection.getMetaData();
  
  3.利用結果集工作
  數據庫查詢被執行后,查詢的結果作為一個兩維(行、列)數據表返回。ResultSet接口被用來提供訪問查詢結果的數據表,查詢結果被當作ResultSet對象而返回,ResultSet對象提供“指針”,指針每次訪問數據庫表的一行。當ResultSet對象從查詢中返回時,指針初始指向數據表的第一行,ResultSet 的next() 方法用來移動指針

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
浅井舞香一区二区| 伊人精品在线观看| 午夜精品在线视频| 性欧美长视频免费观看不卡| 久久久久日韩精品久久久男男| 久久高清视频免费| 秋霞av国产精品一区| 亚洲理论在线a中文字幕| 九九久久久久99精品| 国产精品高潮呻吟久久av黑人| 成人激情在线播放| 国产精品十八以下禁看| 亚洲天天在线日亚洲洲精| 伊人伊成久久人综合网站| 欧美综合国产精品久久丁香| 亚洲成色999久久网站| 成人黄色av播放免费| 国产香蕉97碰碰久久人人| 久久久女女女女999久久| 91精品国产高清久久久久久| 日韩av在线导航| 亚洲美女免费精品视频在线观看| 亚洲欧洲自拍偷拍| 久久久97精品| 国产精品伦子伦免费视频| 日韩av中文字幕在线播放| 欧美老女人在线视频| 亚洲三级黄色在线观看| 精品人伦一区二区三区蜜桃免费| 欧美日韩裸体免费视频| 97在线视频免费| 国产成人av在线播放| 亚洲欧洲中文天堂| 91久久精品国产| 欧美怡春院一区二区三区| 日韩电影中文字幕av| 久久久久久久国产精品| 色综合色综合久久综合频道88| 欧美精品久久久久a| 欧美孕妇孕交黑巨大网站| 久久精品2019中文字幕| 国产成人精品a视频一区www| 日韩在线视频播放| 97视频在线观看免费高清完整版在线观看| 性色av一区二区三区在线观看| 久久成人精品一区二区三区| 国产一区二区黑人欧美xxxx| 国产欧美精品一区二区三区-老狼| 亚洲日本成人女熟在线观看| 亚洲国产精品视频在线观看| 国产精品电影久久久久电影网| 国产一区玩具在线观看| 国产精品丝袜久久久久久不卡| 久久久久久久亚洲精品| 欧美日产国产成人免费图片| 91po在线观看91精品国产性色| 92看片淫黄大片欧美看国产片| 日韩欧美中文在线| 91精品国产综合久久男男| 精品国产区一区二区三区在线观看| 日本亚洲精品在线观看| 国产69久久精品成人| zzjj国产精品一区二区| 热99精品里视频精品| 国产一区在线播放| 人妖精品videosex性欧美| 91精品国产成人| 97香蕉超级碰碰久久免费软件| 日韩免费av片在线观看| 国产美女扒开尿口久久久| 久久久精品2019中文字幕神马| 日韩在线视频中文字幕| 一区二区日韩精品| 成人欧美一区二区三区在线| 国产一区二区三区久久精品| 中文字幕欧美精品在线| 国产成人综合久久| 成人亚洲综合色就1024| 欧美国产精品va在线观看| 精品久久久久久久久久久久久久| 国产视频精品自拍| 亚洲free性xxxx护士白浆| 日韩精品日韩在线观看| 伊人精品在线观看| 亚洲国产高清福利视频| 日韩免费在线电影| 久久人人爽人人爽爽久久| 成人网在线免费看| 日韩成人免费视频| 亚洲成avwww人| 国产z一区二区三区| 精品一区二区三区四区在线| 国产精品久久久久秋霞鲁丝| 亚洲色在线视频| 国产精品老女人精品视频| 亚洲伊人第一页| 国产精品美乳一区二区免费| 欧美精品性视频| 欧美午夜视频在线观看| 亚洲18私人小影院| 91国产美女在线观看| 国产精品福利网站| 岛国视频午夜一区免费在线观看| 成人xxxx视频| 中文字幕在线国产精品| 亚洲国产欧美一区二区丝袜黑人| 色悠久久久久综合先锋影音下载| 一区二区三区国产视频| 久久综合久久八八| 亚洲天堂男人的天堂| 亚洲综合大片69999| 亚洲综合大片69999| 久久久久久91香蕉国产| 欧美成人黑人xx视频免费观看| 欧美丰满少妇xxxx| 欧美三级欧美成人高清www| 国产精品丝袜一区二区三区| 欧美做受高潮电影o| 在线视频免费一区二区| 亚洲视频欧洲视频| 亚洲精品91美女久久久久久久| 成人精品视频久久久久| 亚洲伊人久久大香线蕉av| 97视频在线观看免费| 一本色道久久88综合日韩精品| 国产999视频| 精品日本高清在线播放| 国产精品视频一区二区高潮| 在线电影欧美日韩一区二区私密| 国产suv精品一区二区| 国产精品爽爽爽| 97精品国产91久久久久久| 亚洲最大av网| 91老司机精品视频| 亚洲国产精品久久精品怡红院| 亚洲精品黄网在线观看| 欧美一级高清免费| 精品国内亚洲在观看18黄| 91超碰中文字幕久久精品| 亚洲福利小视频| 亚洲国产精品久久久久久| 中文字幕精品在线| 久久精品青青大伊人av| 亚洲免费影视第一页| 日韩精品免费在线播放| 成人美女免费网站视频| 成人字幕网zmw| 亚洲天堂av在线播放| 国产精品电影久久久久电影网| 欧美日韩国产va另类| 国产亚洲欧洲高清一区| 久久精品视频网站| 亚洲大胆人体视频| 综合国产在线观看| 欧美一级黄色网| 欧美午夜精品久久久久久浪潮| 久久av红桃一区二区小说| 久久99精品久久久久久噜噜| 成人av在线亚洲| 国产精品久久久久久久久免费看| 亚洲高清色综合| 亚洲国产古装精品网站| 欧美性极品少妇精品网站| 久久精品国产一区|