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

正文內(nèi)容

面向?qū)ο笳n程設(shè)計---工資管理系統(tǒng)-文庫吧資料

2025-01-24 15:56本頁面
  

【正文】 操縱。 ()。 while(()){ (())。 IteratorUser u = (sqls).addEntity(u, ).list().iterator()。 ()?!  ∵@個查詢指定了:SQL查詢字符串和查詢返回的實體。 查詢方法中區(qū)別較大的是在儲存員工時用到的查詢方法,因為mysql中有一特殊語句查詢最后插入的記錄,直接用hibernate的注解和擴展注解都不好用,所以我使用了hibernate的SQLQuery接口,在hibernate中使用原生態(tài)的sql,這樣使用起來就方便多了,使用方法如下:  對原生SQL查詢執(zhí)行的控制是通過SQLQuery接口進行的,()獲取這個接口。其余地方與儲存的一模一樣,不再贅述。如: IteratorUserusers=(from User).list().iterator()。//調(diào)用session的方法 ().mit()。//拿到當(dāng)前內(nèi)存中的session,如果沒有則創(chuàng)建一個 ()。 (1000)。 (5000)。 } 存儲方法實例化一個User對象,在(1)的情況下,拿到session后,調(diào)用session的方法即可完成,具體如下: Test public void testsave(){ User u = new User()。 (sf)。以后每次執(zhí)行注解為Test的方法時都會先調(diào)用beforeclass方法,結(jié)束時都會調(diào)用afterclass方法。 新建測試類由于是在測試類中,所以每一個方法中都有重復(fù)的語句獲得session,所以先定義一個beforeclass 方法并注解為BeforeClass,同時定義一個AfterClass方法,并注解為afterClass。增、刪、改、查功能的實現(xiàn)中大部分是通過hibernate訪問數(shù)據(jù)庫,進而對數(shù)據(jù)庫的操縱,但是某些操縱通過hibernate會得不償失,會占用大量內(nèi)存,更有甚者,hibernate不能直接實現(xiàn),這種情況下是通過jdbc連接訪問數(shù)據(jù)庫,并操縱的。直接去hibernate附帶的例子里copy就行。s automatic session context management property name=current_session_context_classthread/property ! Disable the secondlevel cache ! 不用hibernate的二級緩存 property name=/property ! Echo all executed SQL to stdout ! 配置在執(zhí)行過程中打印sql語句,方便查錯 property name=show_sqltrue/property ! 顯示格式化的sql語句 property name=format_sqltrue/property ! Drop and recreate the database schema on startup ! 配置為每次不先刪表再建表,否則每次都會刪除以前的數(shù)據(jù) property name=update/property ! 配置自己寫的實體類 mapping class=/(5)配置日志文件。直觀起見,直接在配置文件中注釋了,每個語句都有注釋,即這里打算的寫的解釋。 }(4)配置好hibernate的配置文件。 }此外,添加一個get方法,并注解為Transient,表示不存入數(shù)據(jù)庫的,改方法的功能是用來獲取工資總額,具體如下: Transient //不存入數(shù)據(jù)庫,只是為了方便查詢 public int getAllWage() { return ()+()+()。 private int bonus。 private int basicWage。代碼如下:Entitypublic class User { private int id。新建一個叫User的java類。后,建數(shù)據(jù)庫的工作將就完成了。(1)建立數(shù)據(jù)庫。 } if(()==確認){ ()。 ()。 (confirm)。 confirm = new Button(確認)。 Panel p2 = new Panel()。 ( 刪除失?。?。 (true)。 (p2)。 (this)。 (new Label(該用戶不存在,刪除失??!))。 }else{ success = new Dialog(,刪除失敗 ,true)。 ()。 (confirm)。 confirm = new Button(確認)。 Panel p2 = new Panel()。 HibernateOperate q = new HibernateOperate()。 } if(()==Y){ ()。 ()。 (N)。 (new Label(確認請按“yes”,撤銷請按“no”))。 N = new Button(no)。 Y = new Button(yes)。 } y_n = new Dialog(,確定刪除?,true)。 (a,result)。操作實例如圖12,關(guān)鍵代碼如下: if(()==刪除){ try { int a = (())。 圖11 該模塊幾個模塊中事件處理最簡單的一個模塊,其中需要說明的就是刪除操作只能按工號刪除。刪除容器中加入了一個子容器select,Panel select中加入了提示輸入工號的標(biāo)簽、工輸入框、空標(biāo)簽和刪除按鈕;下方是一個和select平級的文本框,用來顯示用戶刪除的員工的信息。 } 刪除模塊設(shè)計 刪除模塊模樣刪除模塊模樣如圖10所示。 }else ()。 ()。 (confirm)。 confirm = new Button(確認)。 Panel p2 = new Panel()。 } }else if(()==no){ ()。 ()。 (confirm)。 confirm = new Button(確認)。 Panel p2 = new Panel()。 row = (colum, newValue)。 newValue=0){ //確認修改列 ()。 !(xx)amp。 or==2 amp。 }else if(()==Y amp。 ()。 (confirm)。 confirm = new Button(確認)。 Panel p2 = new Panel()。 (colum, num, newValue)。 newValue=0){//選擇修改行 ()。 num=0 amp。 !(xx) amp。 or==1 amp。 } } if(()==Yamp。 ()。 (Y)。 (this)。 Panel p1 = new Panel()。 (true)。 (Center,p1)。 (Y)。 (this)。 (this)。 Panel p1 = new Panel()。amp。amp。 (true)。 (Center,p1)。 (Y)。 (this)。 (this)。//實例化一個對話框 Panel p1 = new Panel()。amp。amp。amp。 } catch (NumberFormatException e1) { newValue = 1。 } catch (NumberFormatException e2) { num=1。操作實例如圖9,關(guān)鍵代碼如下: int row。(3)做完(1),(2)的選擇后,用戶點擊修改按鈕時,系統(tǒng)將彈出確認修改的對話框,讓用戶選擇是都確認修改,如果用戶點擊對話框上的確認,系統(tǒng)將執(zhí)行修改。即可;當(dāng)用戶選擇修改行時重置過來即setFocusable(true)。(1)修改方式中有修改行和修改列兩種選擇,修改行是修改一行,然后選擇修改項,這種情況必須輸入工號,新值在不輸入的情況下將以0為缺省型,但是不推薦。圖9 修改模塊事件處理 當(dāng)用戶點擊主模塊中的修改按鈕時,下方將顯示修改模塊的界面。修改方式中有修改行和修改列兩個選項;改項中可以選擇的只有基礎(chǔ)工資、職務(wù)工資和獎金;由于是修改,所以每項都必須輸入或者選擇,否則不執(zhí)行操作。修改模塊設(shè)計:修改按鈕輸入框輸入新值輸入框輸入工號修改項修改方式圖8 修改模塊的設(shè)計,新建一個叫UpdatePanel的java類,布局設(shè)計同上。 (name, basicWage, postWage, bonus)。 }else name = t[0].getText()。 if(t[0].getText().equals()){ flag = false。i++) t[i].setText()。 if(()==re) for(int i=0。操作實例如圖7所示。當(dāng)用戶點擊清空按鈕時,系統(tǒng)將四個輸入文本框中的殘留信息全部清空。 儲存模事件處理 本模塊共有四個輸入文本框,一個增加員工按鈕,一個清空按鈕和一個顯示文本框。 (new Label())。 (new Label())。 } (add)。 (t[i])。i4。 L[4] = new Label(輸入對應(yīng)信息)。 L[2] = new Label(職務(wù)工資)。實現(xiàn)代碼如下: L[0] = new Label(姓 名)。第一個是用來顯示提示性標(biāo)簽的,即顯示姓名、基礎(chǔ)工資、職務(wù)工資、獎金、輸入對應(yīng)信息,其作用是提示用戶根據(jù)提示,在對應(yīng)的輸入框中輸入合法的信息;第二個Panel就是在第一個提示標(biāo)簽的下方添加相對應(yīng)的輸入框,以便用戶對應(yīng)輸入信息,這個Panel的右端添加了兩個按鈕,前一個是“增加員工”,是往數(shù)據(jù)庫存數(shù)據(jù)的事件源,第二個按鈕是“清空”,用來清空全部輸入框中殘留的信息;第三個就是一個文本框,作用就是顯示新增員工的信息。儲存模塊的設(shè)計姓名基礎(chǔ)工資職務(wù)工資輸入信息獎金文本框,用來顯示剛才增加的用戶的信息對應(yīng)的輸入框:提示性標(biāo)簽:按鈕按鈕圖6儲存模塊的設(shè)計,新建一個叫AddPanel的java類,繼承了Applet類,采用的布局設(shè)計和查詢模塊的完全一樣,不再贅述。 ()。 else if(c[0].getSelectedIndex()==2){ ()。 ()。 else if(c[0].getSelectedIndex()==1){ ()。(2)當(dāng)用在查詢方式下拉框中選擇按工號查詢時,系統(tǒng)自動跳轉(zhuǎn)到工號輸入框,提示用戶輸入員工工號,然后點擊按工號查詢按鈕,系統(tǒng)查詢用戶所輸入的工號的工資信息,并打印到顯示文本框。 圖5 查詢模塊事件處理 該模塊中共有四個下拉框,一個工號輸入框,一個姓名輸入文本框和一個現(xiàn)實文本框,第一個個查詢方式下拉框。 c[3].add(降序)。 c[3].add(排序)。 c[2].add(按獎金)。 c[2].add(按基礎(chǔ)工資)。 c[2].add(排列)。 c[1].add(20000)。 c[1].add(80010000)。 c[1].add(20005000)。 c[1].add(查詢范圍)。 c[0].add(按姓名)。 } c[0].add(查詢方式)。 c[i].addItemListener(this)。i4。實現(xiàn)下拉框的代碼如下: Choice c[] = new Choice[5]。這些跳轉(zhuǎn)控制,在事件處理中有詳細的設(shè)計。 查詢方式下拉框中有按工號、按姓名和默認全部的選項;查詢范圍的下拉框中有各個階段范圍的對應(yīng)選擇,默認是范圍不限;排列下拉框中有按基礎(chǔ)工資、職務(wù)工資、獎金、工資總額和默認是工號的選項;排序下拉框中就升序和降序兩種選擇,默認是升序排序。第一個叫select,用來裝載查詢方式下拉框、查詢范圍下拉框、排列下拉框、排序下拉框和查詢按鈕;第二個容器id,作用是當(dāng)用用戶在select容器中的查詢方式選擇為“按工號查詢”時,光標(biāo)跳轉(zhuǎn)到id容器的id輸入框,之后,當(dāng)用戶點擊“按工號查詢”按鈕時,結(jié)果顯示文本框中顯示用戶輸入的id號即工號的員工的工資信息;第二個容器叫name,作用是當(dāng)用戶點擊按姓名查詢的時候,光標(biāo)跳轉(zhuǎn)到提示輸入姓名的標(biāo)簽的
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1