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

正文內(nèi)容

面向?qū)ο笳n程設(shè)計---工資管理系統(tǒng)(更新版)

2025-07-29 12:18上一頁面

下一頁面
  

【正文】 義異常的示例 。 } } 刪除員工方法 這過程比較特殊,先將給定 id的對象 load到內(nèi)存中,然后執(zhí)行刪除,提交事務(wù)就可以完成。 try { ().newInstance()。 while(()){ 工資管理系統(tǒng) 28 / 67 (())。 查詢方法中區(qū)別較大的是在儲存員工時用到的查詢方法,因為 mysql中有一特殊語句查詢最后插入的記錄 ,直接用 hibernate的注解和擴展注解都不好用,所以我使用了 hibernate的 SQLQuery 接口,在 hibernate中使用原生態(tài)的 sql,這樣使用起來就方便多了,使用方法如下: 對原生 SQL 查詢執(zhí)行的控制是通過 SQLQuery 接口進行的,通過執(zhí)行 ()獲取這個接口。//拿到當前內(nèi)存中的 session,如果沒有則創(chuàng)建一個 ()。 (sf)。直接去 hibernate附帶的例子里 copy就行。 } 此外,添加一個 get方法,并注解為 Transient,表示不存入數(shù)據(jù)庫的,改方法的功能是用來獲取工資總額,具體如下: Transient //不存入數(shù)據(jù)庫,只是為了方便查詢 public int getAllWage() { return ()+()+()。 新建一個叫 User的 java類。 ()。 ( 刪除失?。?)。 (new Label(該用戶不存在,刪除失??! ))。 confirm = new Button(確認 )。 ()。 Y = new Button(yes)。 刪除模塊設(shè)計: 輸入提示(工號) 輸入框 刪除按鈕 文本框,用來顯示將要刪除的用戶信息: 顯示用戶信息 工資管理系統(tǒng) 20 / 67 圖 11 刪除模塊 事件處理 該模塊幾個模塊中事件處理最簡單的一個模塊,其中需要說明的就是刪除操作只能按工號刪除。 ()。 } }else if(()==no){ ()。 Panel p2 = new Panel()。 or==2 amp。 confirm = new Button(確認 )。 num=0 amp。 ()。 (true)。 (this)。 (true)。 (this)。amp。 ( 3) 做完( 1),( 2)的選擇后,用戶點擊修改按鈕時,系統(tǒng)將彈出確認修改的對話框,讓 用戶選擇是都確認修改,如果用戶點擊對話框上的確認,系統(tǒng)將執(zhí)行修改。修改方式中有修改行和修改列兩個選項;改項中可以選擇的只有基礎(chǔ)工資、職務(wù)工資和獎金;由于是修改,所以每項都必須輸入或者選擇,否則 不執(zhí)行操作。 if(t[0].getText().equals()){ flag = false。 當用戶點擊清空按鈕時,系統(tǒng)將四個輸入文本框中的殘留信息全部清空。 } (add)。 L[2] = new Label(職務(wù)工資 )。 ()。 ( 2)當用在查詢方式下拉框中選擇按工號查詢時,系統(tǒng)自動跳轉(zhuǎn)到工號輸入框,提示用戶輸入員工工號,然后點擊按工號查詢按鈕,系統(tǒng)查詢用戶所輸入的工號的工資信息,并打印到顯示文本框。 c[2].add(按獎金 )。 c[1].add(80010000)。 } c[0].add(查詢方式 )。這些跳轉(zhuǎn)控制,在事件處理中有詳細的設(shè)計。在該方法里設(shè)計按名顯示功能模塊的程序,即 public void actionPerformed(ActionEvent e) { (p[2], ())。 p[2].add(ap,儲存 )。 ( 3) 將 p[3]加入 MyApplet中; ( 4) 設(shè)置中各組件的顯示方式。 //將按鈕分開 } = new Insets(20,4,4,4)。 b[2].addActionListener(this)。參數(shù)分別為“查詢”、“儲存”、“修改”和“刪除”。 并且對 Panel[0]采用 Gridlayout 的布局設(shè)計,由于只需添加標題這樣一個組件就可以了,所 工資管理系統(tǒng) 6 / 67 以設(shè)置為一行一列: p[0] = new Panel(new GridLayout(1,1))。 外層模塊代碼 解析 ( 1) MyApplet 類繼承 Applet,所以本身就是一個容器,不需要自己再去創(chuàng)建外層容器了,就把 this(本容器)當成外層容器就可以了。而 BorderLayout則將整個容器分為東、西、南、北、中,這樣的布局比較死,限制了設(shè)計者自己定義布局的功能。 ( 4) 刪除功能中,必須慎重操作, 刪除時必須輸入員工工號,先查詢出來,把員工的各項信息顯示在下方的文本框中,在用戶點擊確認刪除時系統(tǒng)就將該工號的用戶的各項信息從數(shù)據(jù)庫中刪除 。 每個員工有員工工號、姓名、基礎(chǔ)工資、職務(wù)工資、獎金和工資總額。 工資管理系統(tǒng) 2 / 67 設(shè)計流程 設(shè)計流程采用先界面后模型 圖 1 界面設(shè)計: 外層全局界面設(shè)計 查詢模塊設(shè)計 儲存模塊設(shè)計 修改模塊設(shè)計 擅長模塊設(shè)計 各組件事件處理功能實現(xiàn)設(shè)計: 外層全局界面各組件事件處理設(shè)計 查詢模塊各組件事件處理 儲存模塊各組件事件處理 修改模塊各組建事件處理 刪除模塊各組件事件處理 Hibernate 實現(xiàn)查詢功能 Hibernate 實現(xiàn)儲存功能 Hibernat和 jdbc實現(xiàn)修改功能 Hibernate 刪除功能 數(shù)據(jù)庫及表的設(shè)計 工資管理系統(tǒng) 3 / 67 工資表模式 根據(jù)上述目的和各項功能要求,選擇如表 1 的數(shù)據(jù)庫表來儲存員工各項工資信息其中的Id號即為員工工號。 經(jīng)過上述外層模塊布局設(shè)計的分析,最適合外層模塊布局設(shè)計的方式就是GridBagLayout。 ( 2) 創(chuàng)建一個大小為 3 的 Panel 數(shù)組 p,并實例化三個 Panel。//橫向可擴展 = 。 b[0] = new Button(查詢 )。 p[1] = new Panel(new GridLayout(1,4))。 ( 5) 初始化的 Panel數(shù)組的第三個元素 p[3]采用卡片的布局設(shè)計,卡片設(shè)計的顯示形式是讓要顯示的東西像撲克一樣疊起來,每次都只能顯示最表面的一張,其他的都在下方,不顯示。//增加用戶模塊 updatePanel up = new updatePanel()。 = new Insets(20,4,4,4)。并對本容器設(shè)置 GridBagLayout的布局設(shè)計,從上往下,加入 三 個子容器。//下拉框數(shù)組 for(int i=0。 c[0].add(默認是全部 )。 c[1].add(默認全部 )。 c[3].add(升序 )。 (轉(zhuǎn)到這里 )。在儲存子容器中添加去的是三個 Panel。 for(int i=0。 (L[4])。 工資管理系統(tǒng) 14 / 67 這段內(nèi)容的關(guān)鍵代碼如下: boolean flag。 if(flag){ HibernateOperate q = new HibernateOperate()。修改界面中結(jié)構(gòu)比較簡單,兩個下拉框和兩個輸入文本框,兩個下拉框分別是修改方式的選擇和修改項的選擇。 if(()==修改 ){ try { num = (())。 num=0 amp。 (new Label(確認請按 “yes”,撤銷請按 “no”))。 !(xx)amp。 (new Label(確認請按 “yes”,撤銷請按 “no”))。 Y = new Button(yes)。amp。 HibernateOperate q = new HibernateOperate()。 (p2)。amp。 (this)。 (new Label(修改失敗! ))。 if(()==確認 ){ ()。 HibernateOperate q = new HibernateOperate()。 (this)。 id = (())。 (p2)。 (confirm)。 (new Label(刪除失?。?))。 } 圖 12 工資管理系統(tǒng) 23 / 67 3 Hibernate 重要配置 根據(jù)本課題內(nèi)容要求可知,該課題對數(shù)據(jù)庫表格的要求并不復(fù)雜,僅用一張表即可,并且能使數(shù)據(jù)的冗余度非常小,所以就一個數(shù)據(jù)庫,一張表即可滿足本課程設(shè)計的要求。 private String name。 去自己下載的\documentation\manual\zhCN\html_single中參考,把配置文件 copy過來,按自己的需要配置上。 為了便于測試,這些方法都是先新建一個測試類 MyTest,用 測試通過了,再將方法改成相應(yīng)的傳引用的方法封裝在一個 叫 HibernateOperate的 java類,各種功能的實現(xiàn)均封裝在這個類中, 在附錄里兩個類都有完整的代碼, 下面將逐一介紹 MyTest類 中的方法。 (d但是 )。//提交事務(wù) } 查詢 方法 查詢?nèi)繒r,用 list來裝從數(shù)據(jù)庫拿到的對象,用迭代器 Iterator來遍歷。 所以查詢最后一條記錄的方法如下: Test public void testQueyLast(){ Session session = ()。這里,這些通過 hibernate的自帶文檔可以輕易得知。 int row = ()。 User u = (User)(,5)。amp。 (您輸入的職務(wù)工資有誤! )。 (a,result)。 } 自定義異常 首先得自己新建一個異常類,必須繼承與系統(tǒng)已有的異常類,為了方便直觀,我重寫了父類的 toString方法。 IteratorUser users = (from User u where (++) +msg+ order by +mss+ +mgg).list().iterator() 。 } catch (UserException e1) { (())。 (()+ 已經(jīng)刪除 )。 } 工資管理系統(tǒng) 33 / 67 6 總結(jié)與體會 總結(jié) 本課程設(shè)計重點分為兩個方面,一是圖形界面的設(shè)計,主要包括界面圖形的設(shè)計、監(jiān)聽器的使用、事件處理;二是后臺數(shù)據(jù)操作,主要包括數(shù)據(jù)庫的連接、 hibernate的基礎(chǔ)配置、增刪改查操作、異常處理。在增加員工的子模塊中,如果增加成功,系統(tǒng)會將增加的那個員工的信息打印出來,每個這樣讓每個員工都知道自己的工號。 測試類的應(yīng)用,在寫一個比較大的項目時,測試類非常有用,并且應(yīng)配置日志文件,打印sql 語句。 import 。 import 。 QueryPanel qp = new QueryPanel()。 b[0] = new Button(查詢 )。 p[0] = new Panel(new GridLayout(1,1))。 p[2].add(up,修
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1