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

正文內(nèi)容

面向?qū)ο笳n程設(shè)計(jì)---工資管理系統(tǒng)-在線瀏覽

2025-03-07 15:56本頁(yè)面
  

【正文】 2000)。 c[1].add(50008000)。 c[1].add(1000020000)。 c[1].add(默認(rèn)全部)。 c[2].add(按工資總額)。 c[2].add(按職務(wù)工資)。 c[2].add(默認(rèn)按工號(hào))。 c[3].add(升序)。 c[3].add(默認(rèn)升序)。(1)當(dāng)用戶(hù)選擇的是查詢(xún)方式或者默認(rèn)全部時(shí),系統(tǒng)將查詢(xún)的對(duì)象定位整個(gè)員工工作表;第二個(gè)是供用戶(hù)可以選擇查詢(xún)的范圍的下拉框,這里的范圍是指工資總額在所在的范圍,比如用戶(hù)選擇8000~10000則表示用戶(hù)選擇了工資總額在8000~10000的員工,上下限選擇均包括端點(diǎn)值;第三個(gè)是排列下拉框,表示用戶(hù)選擇按什么什么數(shù)值排列,結(jié)合第四個(gè)排序下拉框的意思就是用戶(hù)選擇按什么的數(shù)值以什么的順序排列;這四個(gè)下拉框均有默認(rèn)值,用戶(hù)不顯示的做任何選擇,當(dāng)用戶(hù)直接點(diǎn)擊查詢(xún)按鈕時(shí),系統(tǒng)將查詢(xún)?nèi)繂T工則工資信息,按工號(hào)的升序排列打印在顯示文本框。關(guān)鍵代碼如下: if(c[0].getSelectedIndex()==0||c[0].getSelectedIndex()==3) //選擇查詢(xún)方式 c[1].requestFocus()。 (轉(zhuǎn)到這里)。 }(3)當(dāng)用戶(hù)在查詢(xún)方式下拉框中選擇按姓名查詢(xún)時(shí),系統(tǒng)將自動(dòng)跳轉(zhuǎn)到姓名輸入框,提示用戶(hù)輸入姓名。 (轉(zhuǎn)到這里)。 } 儲(chǔ)存模塊設(shè)計(jì) 儲(chǔ)存模塊模樣儲(chǔ)存模塊的模樣如圖6所示。在儲(chǔ)存子容器中添加去的是三個(gè)Panel。 其中的提示性標(biāo)簽是用Label數(shù)組來(lái)實(shí)現(xiàn)的,并且在中間加入了空的標(biāo)簽,目的是是標(biāo)簽分開(kāi),不至于排列太緊密,影響美觀,窗口顯示如圖7。 L[1] = new Label(基礎(chǔ)工資)。 L[3] = new Label(獎(jiǎng) 金)。 for(int i=0。i++) { t[i] = new TextField()。 (L[i])。 (re)。 (L[4])。 (new Label())。當(dāng)用用戶(hù)點(diǎn)擊增加員工按鈕時(shí),系統(tǒng)將讀取四個(gè)輸入文本框中的內(nèi)容,在姓名不為空,三項(xiàng)金額為整數(shù)的情況下,系統(tǒng)將員工信息存入數(shù)據(jù)庫(kù),并在下方的顯示文本框中打印剛增加的員工的工號(hào)、姓名和工資信息。其中的flag不只是在這兩個(gè)地方處理,在討論異常的時(shí)候會(huì)詳細(xì)介紹。這段內(nèi)容的關(guān)鍵代碼如下: boolean flag。i4。 if(()==add) //插入數(shù)據(jù) { flag=true。 (增加用戶(hù)失?。罕仨気斎胗脩?hù)名!)。 if(flag){ HibernateOperate q = new HibernateOperate()。 }圖7 修改模塊設(shè)計(jì)修改模塊如圖8所示。修改子容器比較簡(jiǎn)單,里面就裝有個(gè)一子容器select,容器select中添加了下拉框“修改方式”、下拉框“修改項(xiàng)”、標(biāo)簽“輸入新值”、工號(hào)輸入框、標(biāo)簽“輸入新值”、新值輸入框、修改按鈕。該模塊中各部分的實(shí)現(xiàn)代碼前面均有提到過(guò),不再贅述,窗口顯示如圖9所示。修改界面中結(jié)構(gòu)比較簡(jiǎn)單,兩個(gè)下拉框和兩個(gè)輸入文本框,兩個(gè)下拉框分別是修改方式的選擇和修改項(xiàng)的選擇。(2)當(dāng)用戶(hù)選擇的修改方式為修改列時(shí),不需要輸入工號(hào),此時(shí),工號(hào)輸入框不能進(jìn)行輸入,只要為輸入框設(shè)置屬性setFocusable(false)。即可。如果修改成功,系統(tǒng)將會(huì)彈出修改成功的對(duì)話框。 if(()==修改){ try { num = (())。 } try { newValue = (())。 } if(or==1 amp。 !(xx) amp。 num=0 amp。 newValue=0){ //選擇的是修改行 y_n = new Dialog(,確定修改?,true)。 Y = new Button(yes)。 N = new Button(no)。 (new Label(確認(rèn)請(qǐng)按“yes”,撤銷(xiāo)請(qǐng)按“no”))。 (N)。 ()。 }else if(or==2 amp。 !(xx)amp。 newValue=0){ y_n = new Dialog(,確定修改?,true)。 Y = new Button(yes)。 N = new Button(no)。 (new Label(確認(rèn)請(qǐng)按“yes”,撤銷(xiāo)請(qǐng)按“no”))。 (N)。 ()。 }else { y_n = new Dialog(,信息不全,true)。 Y = new Button(yes)。 (new Label(您選擇的條件有誤,請(qǐng)重新選填;按“yes”繼續(xù)補(bǔ)全))。 (Center,p1)。 (true)。amp。amp。amp。amp。 HibernateOperate q = new HibernateOperate()。 success = new Dialog(,修改成功 ,true)。 (new Label(修改成功!))。 (this)。 (p2)。 (true)。amp。amp。amp。 HibernateOperate q = new HibernateOperate()。 if(row0){ success = new Dialog(,修改成功 ,true)。 (new Label(修改成功!))。 (this)。 (p2)。 (true)。 success = new Dialog(,修改失敗 ,true)。 (new Label(修改失??!))。 (this)。 (p2)。 (true)。 if(()==確認(rèn)){ ()。刪除模塊設(shè)計(jì):刪除按鈕輸入框輸入提示(工號(hào))顯示用戶(hù)信息文本框,用來(lái)顯示將要?jiǎng)h除的用戶(hù)信息:圖10 刪除模塊的設(shè)計(jì),新建一個(gè)叫DeletePanel的java類(lèi),布局設(shè)計(jì)同上。功能和實(shí)現(xiàn)都非常簡(jiǎn)單,沒(méi)有超出前面設(shè)計(jì)的范圍,故簡(jiǎn)略說(shuō)明,窗口顯示如圖11所示。當(dāng)用戶(hù)輸入工號(hào)后,點(diǎn)擊刪除按鈕是并未進(jìn)行刪除操作,系統(tǒng)將準(zhǔn)備刪除的員工信息打印在下方的顯示文本框中,當(dāng)用戶(hù)點(diǎn)擊確認(rèn)對(duì)話框中的確認(rèn)時(shí),系統(tǒng)才進(jìn)行員工信息刪除。 HibernateOperate q = new HibernateOperate()。 } catch (NumberFormatException e1) { (請(qǐng)輸入合法的整數(shù)??!)。 Panel p1 = new Panel()。 (this)。 (this)。 (Y)。 (Center,p1)。 (true)。 id = (())。 if((id)){ success = new Dialog(,刪除成功 ,true)。 (new Label(刪除成功!))。 (this)。 (p2)。 (true)。 Panel p2 = new Panel()。 confirm = new Button(確認(rèn))。 (confirm)。 ()。 } }else if(()==no){ ()。 success = new Dialog(,刪除失敗 ,true)。 (new Label(刪除失??!))。 (this)。 (p2)。 (true)。 }圖123 Hibernate重要配置根據(jù)本課題內(nèi)容要求可知,該課題對(duì)數(shù)據(jù)庫(kù)表格的要求并不復(fù)雜,僅用一張表即可,并且能使數(shù)據(jù)的冗余度非常小,所以就一個(gè)數(shù)據(jù)庫(kù),一張表即可滿足本課程設(shè)計(jì)的要求。在mysql命令行執(zhí)行語(yǔ)句create database coursedesign。(2)引入相關(guān)jar包,將下載好的hibernate、Junit、日志文件和mysql驅(qū)動(dòng)類(lèi)import到該課題的工程中,具體引入的jar包如下:(3)建立實(shí)體類(lèi)。加上hibernate的實(shí)體類(lèi)的注解,并寫(xiě)好員工的屬性。 private String name。 private int postWage。} 寫(xiě)好各個(gè)屬性的get和set方法,特殊一點(diǎn)是在主鍵id的get方法前加上注解Id和GeneratedValue,前者表示該屬性是主鍵,后者表示該屬性的數(shù)值自增類(lèi)型,具體如下: Id GeneratedValue public int getId() { return id。 }還有,必須重寫(xiě)實(shí)體類(lèi)的toString方法如下: public String toString(){ return ID: +getId()+ 姓名:+getName()+ 基礎(chǔ)工資:+getBasicWage() + 職務(wù)工資:+getPostWage()+ 獎(jiǎng)金:+bonus+ 工資總額: +getAllWage()+\n\n。\documentation\manual\zhCN\html_single中參考,把配置文件copy過(guò)來(lái),按自己的需要配置上。代碼如下: ! 加載mysql驅(qū)動(dòng) property name=/property ! 連接到本地的一個(gè)叫coursedesign的數(shù)據(jù)庫(kù) property name=jdbc:mysql://localhost/coursedesign/property ! 數(shù)據(jù)庫(kù)用戶(hù)名 property name=root/property ! 數(shù)據(jù)庫(kù)用戶(hù)密碼 property name=root/property ! 配置數(shù)據(jù)庫(kù)方言 property name=dialect/property ! 配置數(shù)據(jù)庫(kù)連接池,這里單一訪問(wèn)就配置為1 property name=1/property ! 配置線程 ! Enable Hibernate39。其作用是顯示hibernate執(zhí)行過(guò)程中的詳細(xì)情況,非常有必要步驟,對(duì)于查錯(cuò),測(cè)試修改非常重要的。并將里面如下行的注釋解開(kāi):====%d{ABSOLUTE} %5p %c:%L %m%n=warn, stdout=debug4 后臺(tái)功能實(shí)現(xiàn) 四大功能的實(shí)現(xiàn)。為了便于測(cè)試,這些方法都是先新建一個(gè)測(cè)試類(lèi)MyTest,再將方法改成相應(yīng)的傳引用的方法封裝在一個(gè)叫HibernateOperate的java類(lèi),各種功能的實(shí)現(xiàn)均封裝在這個(gè)類(lèi)中,在附錄里兩個(gè)類(lèi)都有完整的代碼,下面將逐一介紹MyTest類(lèi)中的方法。在main方法 中調(diào)用beforeclass就可以了。代碼如下: BeforeClass public static void beforeclass(){ sf = new AnnotationConfiguration().configure().buildSessionFactory()。 } AfterClass public static void afterclass(){ ()。 (d但是)。 (2000)。 Session session = ()。//開(kāi)始事物 (u)。//提交事務(wù) } 查詢(xún)方法查詢(xún)?nèi)繒r(shí),用list來(lái)裝從數(shù)據(jù)庫(kù)拿到的對(duì)象,用迭代器Iterator來(lái)遍歷。里面值得注意的是查詢(xún)語(yǔ)句from的后面不是表明,而是類(lèi)名(實(shí)體類(lèi)),是通過(guò)HQL拿到的,這點(diǎn)要與SQL語(yǔ)句分開(kāi)。在按工號(hào)和姓名查詢(xún)的過(guò)中和上述方法沒(méi)有重要區(qū)別,完全是SQL條件的差異,這里也省略了,詳情見(jiàn)附件。最簡(jiǎn)單的情況下,我們可以采用以下形式:  Listcats = (select*fromcats).addEntity().list()。所以查詢(xún)最后一條記錄的方法如下: Test public void testQueyLast(){ Session session = ()。 String sqls = select * from user where id=(select max(id) from user)。 ().mit()。 } } 數(shù)據(jù)更新方法 該課程設(shè)計(jì)中用到的數(shù)據(jù)更新有兩種,即更新某一條記錄的某一項(xiàng)和更新所有記錄的某一列,更新某一條記錄的某一項(xiàng)的時(shí)候,和前面講述的查詢(xún)基本相同,關(guān)鍵的不同的地方是 Query q = (update User u set =4555 where =3)。這里,這些通過(guò)hibernate的自帶文檔可以輕易得知。先將mysql的驅(qū)動(dòng)import到工程中,在myeclipse
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1