項目四停車收費系統(tǒng)_第1頁
項目四停車收費系統(tǒng)_第2頁
項目四停車收費系統(tǒng)_第3頁
項目四停車收費系統(tǒng)_第4頁
項目四停車收費系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目四停車場收費系統(tǒng)主講:雷靜[項目目標]

完成一個關于停車收費的數(shù)據(jù)庫信息管理的設計與開發(fā)。通過該項目掌握使用JDBC連接數(shù)據(jù)庫的方法;掌握訪問數(shù)據(jù)庫實現(xiàn)添加、刪除、修改和查詢的方法;掌握信息管理系統(tǒng)的設計與開發(fā)的方法。

任務一系統(tǒng)分析與設計[任務描述]

完成停車收費管理程序的系統(tǒng)分析與設計。[本節(jié)目標]能夠進行完備的需求分析;能夠進行系統(tǒng)功能劃分;能夠進行數(shù)據(jù)庫設計;能夠進行詳細設計。

1、軟件開發(fā)流程軟件開發(fā)流程(Softwaredevelopmentprocess)即軟件設計思路和方法的一般過程,包括設計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結構設計和模塊設計、編程和調試、程序聯(lián)調和測試以及編寫、提交程序。2、E-R圖E-R圖也稱實體-聯(lián)系圖(EntityRelationshipDiagram),提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。實體型(Entity):具有相同屬性的實體具有相同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體;在E-R圖中用矩形表示,矩形框內寫明實體名屬性(Attribute):實體所具有的某一特性,一個實體可由若干個屬性來刻畫。在E-R圖中用橢圓形表示,并用無向邊將其與相應的實體連接起來聯(lián)系(Relationship):聯(lián)系也稱關系,信息世界中反映實體內部或實體之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n)。

2、E-R圖聯(lián)系可分為以下3種類型:(1)一對一聯(lián)系(1∶1)(2)一對多聯(lián)系(1∶N)(3)多對多聯(lián)系(M∶N)2、E-R圖繪制E-R圖的步驟:⑴確定所有的實體集合⑵選擇實體集應包含的屬性⑶確定實體集之間的聯(lián)系⑷確定實體集的關鍵字,用下劃線在屬性上表明關鍵字的屬性組合⑸確定聯(lián)系的類型,在用線將表示聯(lián)系的菱形框聯(lián)系到實體集時,在線旁注明是1或n(多)來表示聯(lián)系的類型任務二連接數(shù)據(jù)庫[任務描述]

編寫Java程序連接MicrosoftSQLServer數(shù)據(jù)庫。

[本節(jié)目標]掌握使用JDBC方式連接不同數(shù)據(jù)庫的方法。

數(shù)據(jù)庫訪問技術簡介

客戶機/服務器應用程序數(shù)據(jù)庫編程ODBCJDBC兩個常用的API數(shù)據(jù)庫執(zhí)行SQL語句檢索查詢結果數(shù)據(jù)庫ODBC客戶機/服務器GUI應用程序ODBC(開放式數(shù)據(jù)庫連接)(Microsoft提供)插入刪除修改應用程序編程接口查詢JDBCJDBC(Java數(shù)據(jù)庫連接)(sun公司提供)Java應用程序編程接口Java應用程序數(shù)據(jù)庫插入修改刪除查詢

JDBC體系結構2-1Java程序JDBC驅動程序數(shù)據(jù)庫SQL命令結果JDBC體系結構2-2應用層Driver

StatementResultSet

Connection

各接口驅動層java.sql

包3-1接口名說明

Connection此接口表示與數(shù)據(jù)的連接PreparedStatement此接口用于執(zhí)行預編譯的SQL語句

ResultSet此接口表示了查詢出來的數(shù)據(jù)庫數(shù)據(jù)結果集Statement此接口用于執(zhí)行SQL語句并將數(shù)據(jù)檢索到ResultSet

java.sql

包3-2類名說明

DriverManager此類用于加載和卸載各種驅動程序并建立與數(shù)據(jù)庫的連接Date此類包含將SQL日期格式轉換成Java

日期格式的各種方法Time此類用于表示時間TimeStamp此類通過添加納秒字段為時間提供更高的精確度

JDBC程序訪問數(shù)據(jù)庫的步驟

2-1開始導入java.sql包加載并注冊驅動程序創(chuàng)建一個Connection對象創(chuàng)建一個Statement對象執(zhí)行語句關閉ResultSet

對象關閉Statement對象關閉連接結束使用ResultSet對象任務三用戶登錄功能[任務描述]

編寫程序,實現(xiàn)登錄程序的用戶和密碼的判斷。根據(jù)數(shù)據(jù)庫中的Users表,根據(jù)用戶名查找密碼,若用戶名及密碼正確,進入主界面,若用戶名或密碼錯誤,彈出錯誤提示對話框。[本節(jié)目標]掌握向數(shù)據(jù)庫發(fā)送SQL語句的方式;掌握處理數(shù)據(jù)庫回返結果的方式;掌握PreparedStatement接口的使用。

JDBC查詢2-1SQL查詢字符串executeQuery()方法作為參數(shù)傳遞ResultSet

返回查詢數(shù)據(jù)SELECTname,email,phoneFROMcolleagues;使用SQL語句,查詢可編寫為:Stringstr="SELECTemp_id,lname,fnameFROMcolleagues";Statementstmt=con.createStatement();ResultSet

rset=stmt.executeQuery(str);使用JDBC編寫此查詢,則代碼為:Statement接口PreparedStatement接口3-1PreparedStatement接口(預編譯的SQL語句)PreparedStatement

用于提高運行時效率執(zhí)行PreparedStatement

對象比執(zhí)行Statement對象快Statement接口使用結果集3-1ResultSet

對象完全依賴于Statement對象和Connection對象每次執(zhí)行SQL語句時,都會用新的結果重寫結果集當相關的Statement關閉時,ResultSet

對象會自動關閉Next()get<Type>()此方法將光標從當前位置下移一行從ResultSet

對象返回數(shù)據(jù)

使用結果集3-2它演示對當前行的處理使用next()

方法時,記錄是按順序處理的必須按照數(shù)據(jù)返回的順序處理每行中的數(shù)據(jù)…ResultSet

rset=stmt.getResultSet();

while(rset.next()){Stringdept_name=rset.getString(1);} …使用結果集

3-3演示對當前列的處理使用

get<Type>()

方法可以直接訪問列…Statementstmt=con.createStatement();Stmt.executeQuery("Select

emp_id,fnamefromEmployee");ResultSet

rset=stmt.getResultSet();while(rset.next()){Stringename=rset.getString("fname");

System.out.println(ename);}……Statementstmt=con.createStatement();stmt.executeQuery("Select

emp_id,fnamefromEmployee");ResultSet

rset=stmt.getResultSet();while(rset.next()) {Stringemployeeid=rset.getString(1);}…以下代碼顯示值

1

被作為參數(shù)傳遞給

getString()方法,這實際上指列

emp_id

的索引結果集的類型可滾動不可滾動光標僅向前移動光標可前后移動,也可移動至與當前位置相對的某一行如果對數(shù)據(jù)庫做了更改,則新值是可見的結果集

TYPE_SCROLL_INSENSITIVETYPE_SCROLL_SENSITIVE

TYPE_FORWARD_ONLY任務四車輛入場模塊實現(xiàn)[任務描述]

根據(jù)任務一中的詳細設計完成“車輛入場”模塊的代碼編寫。[本節(jié)目標]掌握頁面選項卡的設計及創(chuàng)建;掌握將數(shù)據(jù)添加到數(shù)據(jù)庫的方法;掌握程序編寫的方法。

卡片選項頁面(JTabbedPane)addTdb()方法有3種結構方式:addTab(Stringtitle,Componentcomponent);addTab(Stringtitle,Iconicon,Componentcomponent);addTab(Stringtitle,Iconicon,Coraponent

component.Stringtip);其中,title為卡片標題,icon為卡片圖標,component為放到選項頁面中的面板,tip為當鼠標停留在該頁面標題時顯示的提示文字。任務五車輛收費模塊實現(xiàn)[任務描述]

根據(jù)任務一中的詳細設計完成“車輛出場”模塊的代碼編寫。[本節(jié)目標]掌握日期類Date的使用及組成部分的提取;掌握修改、訪問數(shù)據(jù)庫中數(shù)據(jù)的方法;掌握程序邏輯的完成。

Date類Date類表示日期和時間提供操縱日期和時間各組成部分的方法Date類的最佳應用之一是獲取系統(tǒng)當前時間Date類構造方法構造方法說明Date()使用當天的日期創(chuàng)建DateDate(longdt)使用自1970年1月1日以后的指定毫秒數(shù)創(chuàng)建Date

演示:示例1voiddisplay(){StringstrDate,strTime="";

System.out.println(“今天的日期是:"+objDate);longtime=objDate.getTime();

System.out.println(“自1970年1月1日起"+“以毫秒為單位的時間(GMT):"+time);

strDate=objDate.toString();//提取GMT時間

strTime=strDate.substring(11,(strDate.length()-4));//按小時、分鐘和秒提取時間

strTime=“時間:"+strTime.substring(0,8);

System.out.println(strTime);}Date對象用于輸出日期DateTimeDisplay(){

objDate=newDate();}使用getTime()

方法從Date對象獲取時間任務六程序優(yōu)化[任務描述]

優(yōu)化程序,使程序結構更加合理。[本節(jié)目標]掌握使用MVC模式優(yōu)化程序;掌握使用DAO模式優(yōu)化程序。

設計模式設計模式(Designpattern)是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。下面介紹兩種常用模式:MVC模式和DAO模式。

1、MVC模式MVC模式將交互系統(tǒng)分為模型(Model),視圖(View),控制器(Controller)三個部分。模型部分,是軟件所處理問題邏輯在獨立于外在顯示內容和形式情況下的內在抽象,封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關系,它獨立于具體的界面表達和I/O操作。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論