freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的數(shù)據(jù)庫技術(shù)及其應(yīng)用-文庫吧在線文庫

2024-12-31 21:54上一頁面

下一頁面
  

【正文】 是一種簡(jiǎn)單的、 面向?qū)ο蟮?、分布式的、穩(wěn)健的、解釋型的、安全的、中性結(jié)構(gòu) (體系中立 )的、可移植的、高性能的、多線程的以及動(dòng)態(tài)的語言 ,其實(shí)這些就 Java最顯著的特點(diǎn) 。 Java 支持靜態(tài)和動(dòng)態(tài)風(fēng)格的代碼 的 繼承及重用。 ( 5) 解釋 型 Java解 釋 器 (運(yùn) 行 系 統(tǒng) ) 能 直 接 運(yùn) 行 目 標(biāo) 代 碼 指 令。 (9) 高 性 能 如 果 解 釋 器 速 度 不 慢 , J a v a可 以 在 運(yùn) 行 時(shí) 直 接 將 目 標(biāo) 代 碼 翻 譯 成 機(jī) 器 指 令。 綜上 所述 ,Java 是一種十分優(yōu)秀的開發(fā)語言 ,它是軟件開發(fā)技術(shù)的一場(chǎng) 革命 ,這也是為什么現(xiàn)在越來越多的人選擇用 Java進(jìn)行 軟件 開發(fā)的原因 。 如果是個(gè)人版的操作系統(tǒng) ,那么只能安裝客戶端 部 3 分 。此外, Java 沒有指針,而 ODBC 卻對(duì)指針用得很廣泛(包括很容易出錯(cuò)的指針 void *),這些因素都可能 會(huì)為系統(tǒng)的安全帶來隱患。 (二 ) JDBC的特點(diǎn)及功能 JDBC是一種可以用于執(zhí)行 SQL語句的 Java API( Java應(yīng)用程序接口) ,它 完全由 Java 語言編寫 的類和 接口 組成 ,具有很好的平臺(tái)無關(guān)性 ,同時(shí)它 完全 按照 SQL 的標(biāo)準(zhǔn) 設(shè)計(jì) 而成 ,不 4 像其它語言只支持特定的 SQL語句 。 他們主要分 為如下四類 : JDBCODBC Bridge,Java to Native API, Net Protocol All Java 和 Pure JDBC Driver。 其訪問數(shù)據(jù)庫的結(jié)構(gòu) 如圖 22所示 , Java to Native API使用 Java 的 Native Methods Interface(本機(jī)方法接口 ),把 “ Java程序 ” 中的JDBC數(shù)據(jù)請(qǐng)求轉(zhuǎn)換成“廠家提供的驅(qū)動(dòng)程序 ” 相對(duì)應(yīng)的具體數(shù)據(jù)庫的特定調(diào)用 。上層的 JDBC API與下層的 JDBC Driver API通信 ,再將各種 SQL語句傳遞給它的 “ JDBC 驅(qū)動(dòng)器 \管理器 ” 與各種第三方驅(qū)動(dòng)程序 (如 :JDBC_ODBC 橋 ,數(shù)據(jù)庫專用驅(qū)動(dòng) ,數(shù)據(jù) 庫協(xié)議驅(qū)動(dòng)等 )通信 ,驅(qū)動(dòng)程序直接與數(shù)據(jù)庫連接 ,執(zhí)行指定的操作 ,并將結(jié)果返回 。 Driver 對(duì)象支持一個(gè)應(yīng)用程序連接一個(gè)或多個(gè)數(shù)據(jù)庫。 3. 該類負(fù)責(zé)建立與數(shù)據(jù)庫服務(wù)器的連接,是一個(gè)用于與數(shù)據(jù)庫交互的類,它 為應(yīng)用程序提供了對(duì)話的 Statement 對(duì)象(當(dāng)然也包括 Statement 對(duì)象的子類 PreparedStatement 和CallableStatement 的對(duì)象 ) 。 Statement stmt ()。 表 22是具體的 getXXX()方法 : 表 2- 2 ResultSet對(duì)象的 getXXX()方法 [2] 返回類型 方法名稱及其參數(shù) byte getByte(int columnIndex) Date getDate(int columnIndex) double getDouble(int columnIndex) float getFloat(int columnIndex) int getInt(int columnIndex) long getLong(int columnIndex) String getString(int columnIndex) byte getByte(String columnName) Date getDate(String columnNam) double getDouble(String columnNam) float getFloat(String columnNam) int getInt(String columnNam) long getLong(String columnNam) String getString(String columnNam) (六 ) JDBC典型應(yīng)用模型 10 在實(shí)際應(yīng)用中我們可以采用 兩種開發(fā)模型 ,一種是兩層開發(fā)模型 ,另一種是三層 (或多層 )開發(fā)模型 。 一個(gè) JDBC基本程序應(yīng)該包括的步驟有: 1. 加載 包和 必要的類 package 包名 。 import .*。 //加載的是 microsoft SQL Server 2020 Driver for JDBC c). (“ ” )。 具有上邊的知識(shí),我們下邊給出 JDBC與 常用的數(shù)據(jù)庫連接的代碼 (JDBC與 Access的連接這里沒有給出 ,因?yàn)樵诤筮?開發(fā) 的 “ 簡(jiǎn)單銀行系統(tǒng) ” 中我們使用的就是 Access 作為數(shù)據(jù)庫 ,在那里有 更詳細(xì)的說明 ) , 這些代碼現(xiàn)在就比較容易看懂了。 3. 數(shù)據(jù)庫的操作 1). 建立一個(gè) Statement對(duì)象 Statement 類是接口類,所有不能直接實(shí)例化一個(gè) Statement 對(duì)想,而是調(diào)用一個(gè)Connection 對(duì) 象 的 createStatement() 方 法 來 獲 取 , 如 : Statement stmt =(),當(dāng)建立了一個(gè) Statement對(duì)象后就可以根據(jù)不同的需要,通過調(diào)用 executeQuery()、 executeUpdate()、 execute()三個(gè)方法來執(zhí)行數(shù)據(jù)庫事務(wù)了。 三 “ 銀行系統(tǒng) ” 模擬的實(shí)現(xiàn) 有了上邊 的 知識(shí) 作為 基礎(chǔ) ,我們就可以進(jìn)行實(shí)例的開發(fā)了 ,本實(shí)例是對(duì)銀行系統(tǒng)的簡(jiǎn)單模擬 ,其中對(duì)柜臺(tái)部分和自動(dòng)提款機(jī)都有考慮。 (2)用戶管理 ,包括開戶業(yè)務(wù) ,客戶資料查詢 ,客戶資料修改 ,注銷客戶資料 ,客戶的個(gè)人業(yè)務(wù) (存款 \取款 ,余額查詢 ) 。這里我們建立一個(gè)名為bank的包,來管理這些不同的類文件。如果將所有的代碼放在一個(gè)文件中,那么對(duì)將開發(fā) 會(huì) 帶來很多的不便。 在 Data Source Name 文本框中 ,我們?yōu)閿?shù)據(jù)源取一個(gè)名字 , 叫“ SourceName” 。 字體及 前景 色的設(shè)置: Font clerk_login_font=new Font(Courier,14)。 try{()。 if(((()).equals(().trim()))amp。 18 }catch(SQLException e){} } 先用 ()。 圖 35 柜臺(tái)主操作界面 ( 2)功能設(shè)計(jì) 銀行員工登陸成功顯示的便是這個(gè)界面,它對(duì)系統(tǒng)的其他界面起到導(dǎo)航的作用。 詳細(xì)代碼請(qǐng)見附錄。 Statement stmt_search=()。 if((()).equals(編號(hào) ().trim())) 20 {姓名 (clerk_name_search)。} } ()。 Statement stmt_alter=()。 (delete_str_sql)。 圖 39 開戶界面 ( 2)功能 設(shè)計(jì) 實(shí)現(xiàn)該模塊的類是 ,它是一個(gè)繼承 Panel的類。 這個(gè)界面與銀行柜臺(tái)主操作界面很相似。其中的用戶名和卡號(hào)均是來自登錄模塊傳遞過來的參數(shù) ,而不是 直接 來自數(shù)據(jù)庫。它的本質(zhì)也是實(shí)現(xiàn) 對(duì)數(shù)據(jù)庫 中的部分?jǐn)?shù)據(jù)進(jìn)行修改 。 同時(shí) ,通過這幾個(gè)月的學(xué)習(xí),我也有不少體會(huì): 第一、 Java 確實(shí)是一門偉大的語言 ,一接觸我便喜歡上它了 ,我覺得它特別好學(xué) ,容易上手 ,它提供的異常處理比較實(shí)用 , 同時(shí) 它 去掉 了 C++中的指針 ,這是我特別擁護(hù)的。 第三、本文開發(fā)的系統(tǒng),僅是對(duì)銀行系統(tǒng)進(jìn)行的簡(jiǎn)單模擬, 實(shí)現(xiàn)的也是一些常見的功能,而對(duì)數(shù)據(jù)庫也僅實(shí)現(xiàn)了連接和簡(jiǎn)單的數(shù)據(jù)處理。 第五、網(wǎng)絡(luò)作為信息時(shí)代的標(biāo)志性產(chǎn)物,越發(fā)在我們的生活中 發(fā)揮著 重要 的 作用,我們不僅能通過網(wǎng) 絡(luò)得到一些免費(fèi)的信息,而且,在你遇到問題百思又不得其解時(shí),網(wǎng)絡(luò)是 一個(gè)比較經(jīng)濟(jì)而理想的求助對(duì)像。 第四、 在進(jìn)行軟件的開發(fā) 時(shí), 由于要涉及到大量的組件的命名,所以最好 一定規(guī)律來對(duì)組件命名 ,千萬不要用數(shù)字編號(hào)的方 法來區(qū)分同類組件,否則到后邊隨著組件越來越多,你會(huì)分 不清楚他們誰 是 誰 的。 第二、 在學(xué) C語言編程時(shí),如果要處理大量的數(shù)據(jù),我記得一般都時(shí)采用鏈表 ,往往實(shí)現(xiàn)這部分功能的代碼 ,都是比較復(fù)雜的,并且它處理數(shù)據(jù)效率不高。通過實(shí)踐我們發(fā)現(xiàn) JDBC是一 種十分有用的,用于連接Java與數(shù)據(jù)庫的技術(shù)。其中用戶名和卡號(hào)也是通過參數(shù)傳遞而得到的。 實(shí)現(xiàn)這個(gè)模塊的類 是 它的父類 是 Frame。 圖 310 個(gè)人業(yè)務(wù)登錄驗(yàn)證框 ( 2)功能設(shè)計(jì) 該界面的功能和實(shí)現(xiàn)方法與前邊的 銀行員工登錄界面基本 相同 ,唯一不同之處就是該模塊要從數(shù)據(jù)庫中取出用戶卡號(hào) ,用戶 名 ,密碼 ,作為參數(shù)傳遞給后邊的模塊使用 ,其中卡號(hào) ,和密碼是后邊模塊訪問數(shù)據(jù)庫 時(shí)的必備參考 條件 ,也就是后邊模塊能訪問到的數(shù)據(jù)庫的信息必需與此處的卡號(hào)密碼相匹配。其 訪問數(shù)據(jù)庫時(shí) 加載驅(qū)動(dòng)程序 ,連接數(shù)據(jù)庫都與 前邊的模塊基本一樣 ,而正在用于實(shí)現(xiàn)插入操作的代 碼只有 下邊幾行 ,詳細(xì)代碼見附錄。 }catch(SQLException e){} 5. 員工管理 —— 員工資料刪除 21 ( 1)界面設(shè)計(jì) 刪除員工信息 界面中有 2個(gè) TextField,3個(gè) Label和 2個(gè) Button組件 ,如圖 38所示 : 圖 38 刪除員工信息 ( 2)功能設(shè)計(jì) 實(shí)現(xiàn)該模塊的類是 ,它是一個(gè)繼承 Panel 的類。對(duì)數(shù)據(jù)庫資料的修改 是通過 SQL語句的 update和 executeUpdate()方法實(shí)現(xiàn)的 。 性別 (clerk_sex_search)。 clerk_name_search=(3 )。 在“編號(hào) ” TextField中輸入里要查詢的員工編號(hào) ,單擊 “ 確定 ” 系統(tǒng)便會(huì)連接數(shù)據(jù)庫 ,在數(shù)據(jù)庫中查找與你輸入編號(hào)匹配的員工信息 。主要 代碼如下 : if(()==clerk_manage_item_new) { removeAll()。 2. 柜臺(tái)操作主界面 ( 1)界面設(shè)計(jì) 我們?yōu)橹鞑僮鹘缑?,設(shè)置了 5個(gè)菜單 (Menu),分別時(shí) “ 員工管理 ”, “ 客戶管理 ” , “ 個(gè)人業(yè)務(wù) ” , “ 幫助 ” ,和 “ 關(guān)閉 ” 。 (true)。 while(()) { clerk_id=(1)。否則在 “員工編號(hào)”框中顯示“操作失敗”,且“密碼”框被清空 。 具體的說這些模塊 ,即是 銀行柜臺(tái)系統(tǒng)的一部分 ,也是自動(dòng)提款機(jī)的全部內(nèi)容。在單擊面 板中的“環(huán)境變量”按鈕。而 14 圖 31 銀行系統(tǒng)總體結(jié)構(gòu)圖 15 用戶登錄成 功后卻只能對(duì)數(shù)據(jù)庫中 card 表中的數(shù)據(jù)進(jìn)行操作 ,并且也只對(duì) “ 查詢余額 ” , “ 存款 \取款 ” , “ 修改密碼 ” 具有操作權(quán)限 。 所以我們把該系統(tǒng)分 為三個(gè)大的模塊 ,分別是 :銀行員工管理 (員工資料和員工權(quán)限管理 )。 其中將 多次 訪問數(shù) 據(jù)庫 ,由于數(shù)據(jù)庫設(shè)計(jì)的比較簡(jiǎn)單 ,所以我們采用 SUN 公司的 作為開發(fā)平臺(tái) ,訪問模式為客戶端 /服務(wù)器 (C/S)模式 , 數(shù)據(jù)庫采 用 Access來搭建 ( 如果采用別的數(shù)據(jù)庫 ,僅修改連接數(shù)據(jù)庫 處代碼的參數(shù)就可以了)。 4. 異常處理 因?yàn)?訪問 數(shù)據(jù)庫 時(shí) 可能涉及到 讀取 臟數(shù)據(jù)等 問題,使得數(shù)據(jù)的正確性不能保證,所以很多地方都必需有異常處理。 2)鏈接 Oracle 9i數(shù)據(jù)庫 [7] (“ ” )。如: =:。但要先 加載 我們的驅(qū)動(dòng)程序, 方法有兩種 : 1).通過 調(diào)用 ()方法 ,該方法是顯示的加載驅(qū)動(dòng)類 ,由于與外部設(shè)置無關(guān) ,因此這是一種較好的選擇 。 import .*。 在三層結(jié)構(gòu)中 數(shù)據(jù)庫操作命令發(fā)送到中間層 ,由中間層將操作命令所要求的 SQL語句發(fā)送給數(shù)據(jù)庫 ,數(shù)據(jù)庫將 SQL語句的結(jié)果返回到中間層 ,中間層在將結(jié)果返回給應(yīng)用 程序 ,客戶端與中間層連接有 很多種途徑 ,比如客戶機(jī)是網(wǎng)絡(luò)瀏覽器 的 ,可通過HTTP協(xié)議將操作命令送到中間層 ,如果中間層為一般的 Java應(yīng)用程序 ,中間層在另一臺(tái)網(wǎng)絡(luò)計(jì)算機(jī)上 ,可以通過 RMI(Remote Method Invocation)遠(yuǎn)程方法調(diào)用聯(lián)系 ,也可以在同一臺(tái)計(jì)算機(jī)上建立客戶端和中間服務(wù)層 ,只需要將程序所需要的各數(shù) 據(jù)庫功能模塊封裝在獨(dú)立的Java類里就可以了 。 5. 該類是用來分析 SQL查詢語句的結(jié)果,它包含符合 SQL語句中的所有行,并且它能通過一套 getXXX()方法 對(duì)這些行中 的 數(shù)據(jù) 進(jìn)行 訪問。如表 2- 1 表 2- 1 Connection類的常用方法 [13] 方 法 說 明
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1