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

正文內(nèi)容

基于java的數(shù)據(jù)庫技術(shù)及其應(yīng)用-閱讀頁

2024-12-07 21:54本頁面
  

【正文】 涉及到 讀取 臟數(shù)據(jù)等 問題,使得數(shù)據(jù)的正確性不能保證,所以很多地方都必需有異常處理。 在這個類中的一個內(nèi)部類 ,如果也要連接數(shù)據(jù)庫 ,那么必須 要有異常處理 ,否則即便代碼正確 ,也不能通過編譯 。 三 “ 銀行系統(tǒng) ” 模擬的實現(xiàn) 有了上邊 的 知識 作為 基礎(chǔ) ,我們就可以進(jìn)行實例的開發(fā)了 ,本實例是對銀行系統(tǒng)的簡單模擬 ,其中對柜臺部分和自動提款機(jī)都有考慮。(2)客戶的管理 。 其中將 多次 訪問數(shù) 據(jù)庫 ,由于數(shù)據(jù)庫設(shè)計的比較簡單 ,所以我們采用 SUN 公司的 作為開發(fā)平臺 ,訪問模式為客戶端 /服務(wù)器 (C/S)模式 , 數(shù)據(jù)庫采 用 Access來搭建 ( 如果采用別的數(shù)據(jù)庫 ,僅修改連接數(shù)據(jù)庫 處代碼的參數(shù)就可以了)。所以能夠?qū)崿F(xiàn)全國 ,甚至全球聯(lián)網(wǎng)的銀行系統(tǒng)就顯得十分必要了。 (2)用戶管理 ,包括開戶業(yè)務(wù) ,客戶資料查詢 ,客戶資料修改 ,注銷客戶資料 ,客戶的個人業(yè)務(wù) (存款 \取款 ,余額查詢 ) 。 Windows 2020 + + Microsoft Access 2020 + TextPad。 所以我們把該系統(tǒng)分 為三個大的模塊 ,分別是 :銀行員工管理 (員工資料和員工權(quán)限管理 )。個人業(yè)務(wù) , 負(fù)責(zé)提款 \取款 ,余額查詢和密碼修改 ,此處可以通過兩種方式實現(xiàn) (柜臺和自動提款機(jī) ) 。這里我們建立一個名為bank的包,來管理這些不同的類文件。 系統(tǒng)總體結(jié)構(gòu)如圖 31 所示。而 14 圖 31 銀行系統(tǒng)總體結(jié)構(gòu)圖 15 用戶登錄成 功后卻只能對數(shù)據(jù)庫中 card 表中的數(shù)據(jù)進(jìn)行操作 ,并且也只對 “ 查詢余額 ” , “ 存款 \取款 ” , “ 修改密碼 ” 具有操作權(quán)限 。 (clerk) 表 31 字段名稱 數(shù)據(jù)類型 主鍵 非空 編號 自動編號 Yes Yes 姓名 文本 No Yes 密碼 文本 No Yes 職位 文本 No No 權(quán)限 文本 No Yes 性別 文本 No Yes (client) 表 32 字段名稱 數(shù)據(jù)類型 主鍵 非空 用戶編號 自動編號 Yes Yes 姓名 文本 No Yes 性別 文本 No No 地址 文本 No No 電話 文本 No No (card) 表 33 字段名稱 數(shù)據(jù)類型 主鍵 非空 卡號 int Yes Yes 用戶編號 自動編號 No Yes 密碼 文本 No Yes 余額 文本 No Yes 開戶時間 文本 No Yes 的 關(guān)系圖 我們通過 ” 用戶編號 ” 將 ,card表和 client表連續(xù)起來 ,如圖 32所示 : 圖 32 表關(guān)系圖 16 (四 ) 環(huán)境 變量和數(shù)據(jù)源的設(shè)置 1. 環(huán)境變量的設(shè)置 開發(fā)一個項目 ,往往需要創(chuàng)建包 ,將項目中的所有類放在同一個以包名命名的文件夾中,不同的類分別放在不同的 .java 文件中。如果將所有的代碼放在一個文件中,那么對將開發(fā) 會 帶來很多的不便。如果一段代碼在一臺機(jī)器上能夠運行,而換一臺機(jī)器就不能運行了,那么多半都是環(huán)境變量在搗亂。在單擊面 板中的“環(huán)境變量”按鈕。本實例我們的 包 bank放在“ D: \bank” ,所以環(huán)境變量設(shè)置為“ D:\”。 在 Data Source Name 文本框中 ,我們?yōu)閿?shù)據(jù)源取一個名字 , 叫“ SourceName” 。我們再 在這 個 面板上選擇“ Advanced..” 為數(shù)據(jù)源設(shè)置一個登錄名 ,和密碼 ,我們分別設(shè)置為“ wy”和“ sa” ,這樣數(shù)據(jù)源就設(shè)置好了 。 具體的說這些模塊 ,即是 銀行柜臺系統(tǒng)的一部分 ,也是自動提款機(jī)的全部內(nèi)容。 背景顏色的設(shè)置: 我們用 setBackground()。 字體及 前景 色的設(shè)置: Font clerk_login_font=new Font(Courier,14)。 setForeground()。否則在 “員工編號”框中顯示“操作失敗”,且“密碼”框被清空 。 在輸入密碼后按回車或單擊“確定”按鈕時,系統(tǒng)將訪問數(shù)據(jù)庫,在數(shù)據(jù)庫中查找與輸入匹配的記錄。 try{()。 Statement sql=()。 while(()) { clerk_id=(1)。 clerk_name=(3 )。 if(((()).equals(().trim()))amp。((cler()).equals(().trim()))) {work_frame=new operation_frame()。 (true)。()。 18 }catch(SQLException e){} } 先用 ()。然后再用getConnection()方法創(chuàng)建一個連接,接下來分別創(chuàng)建了一個 Statement 對象和一個ResultSet對象, 隨即就可以用 ResultSet的 getXXX()方法取得數(shù)據(jù)庫中的數(shù)據(jù),最后再將得到的數(shù)據(jù)同用戶輸入的數(shù)據(jù)比較,如果相匹配,則執(zhí)行后邊的操作,這是 典型的數(shù)據(jù)庫訪問步驟。 2. 柜臺操作主界面 ( 1)界面設(shè)計 我們?yōu)橹鞑僮鹘缑?,設(shè)置了 5個菜單 (Menu),分別時 “ 員工管理 ”, “ 客戶管理 ” , “ 個人業(yè)務(wù) ” , “ 幫助 ” ,和 “ 關(guān)閉 ” 。在“個人業(yè)務(wù) (Menu)” 下只有一個MenuItem,即個人業(yè)務(wù)操作。 圖 35 柜臺主操作界面 ( 2)功能設(shè)計 銀行員工登陸成功顯示的便是這個界面,它對系統(tǒng)的其他界面起到導(dǎo)航的作用。 現(xiàn)將 MenuItem(這里是 clerk_manage_item_new)注冊給監(jiān)聽器 ,方法如下 : (this)。主要 代碼如下 : if(()==clerk_manage_item_new) { removeAll()。 ()。 詳細(xì)代碼請見附錄。如果單擊 “ 確定 ”按紐 查詢成功 ,那么將在“編號 ” TextField中顯示“ 查詢成功 , 你可以按 重置 按鈕 ,繼續(xù)操作 ” ,否則顯示“ 未找到你要的信息 , 按重置 按鈕 ,可繼續(xù) 操作 。 在“編號 ” TextField中輸入里要查詢的員工編號 ,單擊 “ 確定 ” 系統(tǒng)便會連接數(shù)據(jù)庫 ,在數(shù)據(jù)庫中查找與你輸入編號匹配的員工信息 。 其中數(shù)據(jù)庫的查詢的典型代碼如下 : try{()。 Statement stmt_search=()。 while(()) { clerk_id_search=(1)。 clerk_name_search=(3 )。 clerk_position_search=(5)。 if((()).equals(編號 ().trim())) 20 {姓名 (clerk_name_search)。 密碼 (clerk_password_search)。 性別 (clerk_sex_search)。 編號 (查詢成功 , 你可以按 重置 按鈕 ,繼續(xù)操作 )。} } ()。 圖 37 修改員工信息 界面 ( 2)功能設(shè)計 實現(xiàn)該模塊的 類是 ,它也是一個繼承 Panel的類。對數(shù)據(jù)庫資料的修改 是通過 SQL語句的 update和 executeUpdate()方法實現(xiàn)的 。 try{()。 Statement stmt_alter=()。 (alter_str_sql)。 }catch(SQLException e){} 5. 員工管理 —— 員工資料刪除 21 ( 1)界面設(shè)計 刪除員工信息 界面中有 2個 TextField,3個 Label和 2個 Button組件 ,如圖 38所示 : 圖 38 刪除員工信息 ( 2)功能設(shè)計 實現(xiàn)該模塊的類是 ,它是一個繼承 Panel 的類。 對數(shù)據(jù)庫中數(shù)據(jù) 的刪除是通過 executeUpdate()方法和 SQL 語句的 delete 實現(xiàn)的,下邊兩行代碼是實現(xiàn)該功能的關(guān)鍵代碼,詳細(xì)代碼 請 見附錄。 (delete_str_sql)。 圖 38 新建員工界面 ( 2)功能設(shè)計 實現(xiàn)該模塊的類是 ,它是一個繼承 Panel的類 。其 訪問數(shù)據(jù)庫時 加載驅(qū)動程序 ,連接數(shù)據(jù)庫都與 前邊的模塊基本一樣 ,而正在用于實現(xiàn)插入操作的代 碼只有 下邊幾行 ,詳細(xì)代碼見附錄。 22 (insert_str_sql)。 圖 39 開戶界面 ( 2)功能 設(shè)計 實現(xiàn)該模塊的類是 ,它是一個繼承 Panel的類。 詳細(xì)代碼見附錄。 圖 310 個人業(yè)務(wù)登錄驗證框 ( 2)功能設(shè)計 該界面的功能和實現(xiàn)方法與前邊的 銀行員工登錄界面基本 相同 ,唯一不同之處就是該模塊要從數(shù)據(jù)庫中取出用戶卡號 ,用戶 名 ,密碼 ,作為參數(shù)傳遞給后邊的模塊使用 ,其中卡號 ,和密碼是后邊模塊訪問數(shù)據(jù)庫 時的必備參考 條件 ,也就是后邊模塊能訪問到的數(shù)據(jù)庫的信息必需與此處的卡號密碼相匹配。 詳細(xì)代碼請見附錄。 這個界面與銀行柜臺主操作界面很相似。 面板中的歡迎界面是調(diào)用的 類。 實現(xiàn)這個模塊的類 是 它的父類 是 Frame。 10. 個人業(yè)務(wù) —— 查詢 ( 1)界面設(shè)計 用戶余額查詢 界面 僅 由 6個 Label組件,如圖 312 所示。其中的用戶名和卡號均是來自登錄模塊傳遞過來的參數(shù) ,而不是 直接 來自數(shù)據(jù)庫。 詳細(xì)代碼請見附錄。其中用戶名和卡號也是通過參數(shù)傳遞而得到的。 12.個人業(yè)務(wù) —— 密碼修改 ( 1)界面設(shè)計 圖 313 用戶密碼修改 ( 2)功能設(shè)計 該模塊的功能用于修改用戶的密碼 ,如果輸入舊密碼 與登錄模塊傳遞過來的密碼不相 25 同,那么 上邊的兩個 “ 卡號 ” Label顯示的內(nèi)容 將 被重置為: “ 舊密碼輸入錯誤 ” ,如果兩次新密碼輸入不一致 ,那么兩個“卡號” Label將被 重置為: “ 兩次新密碼輸入不一致 ” ,如果三 個 TextField 均輸入正確那么 Label將顯示為 “ 密碼修改成功 ” 。它的本質(zhì)也是實現(xiàn) 對數(shù)據(jù)庫 中的部分?jǐn)?shù)據(jù)進(jìn)行修改 。 四 總結(jié) 不論是 Java,還是數(shù)據(jù)庫 應(yīng)用 技術(shù),任何一個都是一個龐大的技術(shù)體系,所以我們不可能在短短的幾頁紙上,將其詳細(xì)而全面的論述。通過實踐我們發(fā)現(xiàn) JDBC是一 種十分有用的,用于連接Java與數(shù)據(jù)庫的技術(shù)。 通過畢業(yè)設(shè)計期間的學(xué)習(xí)和實踐,我基本上掌握了 JDBC技術(shù)的常見用法,對基于 Java語言的數(shù)據(jù)庫開發(fā)的一般過程,也有了一個較全面的掌握,同時也掌握了不少關(guān)于 Java 開發(fā) 和數(shù)據(jù)庫 應(yīng)用 的實用技術(shù)。 同時 ,通過這幾個月的學(xué)習(xí),我也有不少體會: 第一、 Java 確實是一門偉大的語言 ,一接觸我便喜歡上它了 ,我覺得它特別好學(xué) ,容易上手 ,它提供的異常處理比較實用 , 同時 它 去掉 了 C++中的指針 ,這是我特別擁護(hù)的。此外在 Swing 窗體的內(nèi)容面板中 ,如果既使用重量組件 ,又 使用輕量組件 ,經(jīng)常會出現(xiàn)一些莫名其妙的錯誤。 第二、 在學(xué) C語言編程時,如果要處理大量的數(shù)據(jù),我記得一般都時采用鏈表 ,往往實現(xiàn)這部分功能的代碼 ,都是比較復(fù)雜的,并且它處理數(shù)據(jù)效率不高。 就 Java 而言它通過標(biāo)準(zhǔn)的數(shù)據(jù)庫接口 JDBC與 數(shù)據(jù)庫 建立 連接 ,將 所有的 數(shù)據(jù)完全交給數(shù)據(jù)庫去處理 。 第三、本文開發(fā)的系統(tǒng),僅是對銀行系統(tǒng)進(jìn)行的簡單模擬, 實現(xiàn)的也是一些常見的功能,而對數(shù)據(jù)庫也僅實現(xiàn)了連接和簡單的數(shù)據(jù)處理。 但是 ,在企業(yè)級環(huán)境中遠(yuǎn)不只連接數(shù)據(jù)庫和執(zhí)行簡單的語句 ,而還需考慮其它方面的要求 ,比如使用連接緩沖池 (pooling)來優(yōu)化網(wǎng)絡(luò)資源以及實現(xiàn)分布式處理 ,這些問題都是比較深難的問題 ,所以本文也就沒有涉及到這些 方面的 內(nèi)容了 , 此外, 由于對 JDK下組件 的 布局不是很熟悉,所以界面的布局有些凌亂不太規(guī)范。 第四、 在進(jìn)行軟件的開發(fā) 時, 由于要涉及到大量的組件的命名,所以最好 一定規(guī)律來對組件命名 ,千萬不要用數(shù)字編號的方 法來區(qū)分同類組件,否則到后邊隨著組件越來越多,你會分 不清楚他們誰 是 誰 的。在開始編代碼時,我連續(xù)干了 30多個小時,心想一口氣搞定。 第五、網(wǎng)絡(luò)作為信息時代的標(biāo)志性產(chǎn)物,越發(fā)在我們的生活中 發(fā)揮著 重要 的 作用,我們不僅能通過網(wǎng) 絡(luò)得到一些免費的信息,而且,在你遇到問題百思又不得其解時,網(wǎng)絡(luò)是 一個比較經(jīng)濟(jì)而理想的求助
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1