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

正文內(nèi)容

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

2025-06-11 12:18本頁(yè)面
  

【正文】 p[2].add(ap,儲(chǔ)存 )。 p[2].setLayout(myCard)。//加載標(biāo)題 p[1] = new Panel(new GridLayout(1,4))。 p[0].setBackground()。 b[3].addActionListener(this)。 b[2].addActionListener(this)。 工資管理系統(tǒng) 38 / 67 b[1].addActionListener(this)。 b[0].addActionListener(this)。 ()。 ()。//修改模塊 DeletePanel dp = new DeletePanel()。//查詢模塊 AddPanel ap =new AddPanel()。 Button[] b = new Button[4]。// 創(chuàng)建布局對(duì)象 GridBagConstraints gbc = new GridBagConstraints()。 Panel p[] = new Panel[3]。 public class MyApplet extends Applet implements ActionListener{ private static final long serialVersionUID = 1L。 import 。 import 。 import 。 import 。 import 。 import 。 工資管理系統(tǒng) 36 / 67 參考文獻(xiàn) [1] 印旻 . Java 與面向?qū)ο蟪绦蛟O(shè)計(jì)教程 .北京:高等教育出版社, 1999. [2] Joshua Bloch,Neal Gafter. Java 解惑 .北京: 人民郵電出版社 , 2021. [3] Bruce Eckel. Java 編程思想 (第四版 ).北京: 機(jī)械工業(yè)出版社 ,2021:378485,576582. [4] 孫衛(wèi)琴 . Java 面向?qū)ο缶幊?.北京: 電子工業(yè)出版社 , 2021. [5] Gay ,Gary Cornell. Java 核心技術(shù) 卷 I.北京: 機(jī)械工業(yè)出版社 , 2021:270302,523533. [6] Christian Bauer, Gaving King. Hibernate 實(shí)戰(zhàn) (第二版 ).北京: 人民郵電出版社 , 2021. [6] [7] 工資管理系統(tǒng) 37 / 67 附錄 1 外層模塊源碼 package 。這樣為開(kāi)發(fā)過(guò)程中查漏檢錯(cuò)提供了線索和思路,否則將會(huì)在不重要的 地方浪費(fèi)大量的時(shí)間。比如對(duì)所有行的某一列進(jìn)行修改的時(shí)候,查閱了hibernate的參考文檔,也在網(wǎng)上尋找了很多方法,也感覺(jué)用起來(lái)沒(méi)有使用 jdbc 那樣簡(jiǎn)便。 在編寫(xiě) hibernate訪問(wèn)數(shù)據(jù)庫(kù)程序時(shí),更多的解決方法是看 hibernate自帶的文檔,各 工資管理系統(tǒng) 34 / 67 種注解、各種訪問(wèn)方式,都非常有必要參考這個(gè)文檔。刪除時(shí)更是謹(jǐn)慎,在執(zhí)行刪除操作前,系統(tǒng)會(huì)將用戶將要?jiǎng)h除的員工的信息打印在顯示文本框中,提示用戶是否確認(rèn)刪除,確保用戶不會(huì)誤改。另外,結(jié)合增加員工的模塊中規(guī)定,增加員工時(shí),員工姓名不能空,否則無(wú)法增加,在修改子模塊中,本課程設(shè)計(jì)值提供以工號(hào)方式的修改,但是不能修改員工的姓名,這也是合情合理的。 設(shè)計(jì)方面,四個(gè)子模塊的設(shè)計(jì)中,查詢模塊有查詢方式、查詢范圍、排列依據(jù)和排序方式的多種情況供用戶選擇,然后將 查詢結(jié)果顯示在下方的顯示文本框中。本課題中用到了 hibernate的幾種注解,也用了幾種系統(tǒng)定義的異常,同時(shí)自定義了異常類。在主模塊中, 有按鈕可以隨時(shí)選擇四個(gè)子模塊中的任意一個(gè), 用戶可以隨時(shí)選擇。 圖形界面的設(shè)計(jì)中, 根據(jù)課題要求,個(gè)人安排設(shè)計(jì)成一個(gè)主模塊,四個(gè)子模塊的形式。 return flag。 } ()。 flag = true。 (u)。 User u = (User)(,id)。 Session session = ()。 也可以在HibernateOperate 的方法中 catch,特別是已經(jīng)將顯示文本框的引用傳過(guò)來(lái)后,在這里catch就方便多了, 如按工號(hào)刪除員工的方法: public boolean testDeleteById(int id,TextField tf){ //按工號(hào)刪除 boolean flag=false。 } 如果沒(méi)有將顯示給用戶看的界面元素的引用沒(méi)有傳過(guò)來(lái)的時(shí)候,就用讓它往外拋,拋到可以顯示的地方就 catch 住,這樣增強(qiáng)了程序的靈活性。 try { (msg,mss,mgg,result)。 ()。 while(()){ (().toString())。 ().mit()。 ()。如: 在 HibernateOperate中的 public void testQuerySpecil(String msg,String mss,String mgg,TextArea ta) throws UserException{ sf = new AnnotationConfiguration().configure().buildSessionFactory()。 } public String toString(){ return 通過(guò) hibernate訪問(wèn)和操縱數(shù)據(jù)庫(kù)異常!??! 。如下: public class UserException extends Exception{ private static final long serialVersionUID = 1L。 } 由于這里的設(shè)計(jì)沒(méi)有必要分得太細(xì),所以不再細(xì)化,用面向?qū)ο蠖鄳B(tài)的應(yīng)用,將這個(gè)整體的異常作為一個(gè)異常信息傳出去: Try{?? }catch (Exception e) { row = 1。 } catch (ClassNotFoundException e) { ()。 在用 jdbc連接數(shù)據(jù)庫(kù)的過(guò)程中可能產(chǎn)生的異常有如下: Try{?? } catch (InstantiationException e) { ()。 } catch (NumberFormatException e1) { (請(qǐng)輸入合法的工號(hào)??! )。 HibernateOperate q = new HibernateOperate()。 (您輸入的獎(jiǎng)金有誤! )。 flag){ try { bonus = (t[3].getText())。 } } if(!t[3].getText().equals() amp。 } catch (NumberFormatException e1) { flag = false。amp。 (您輸入的基礎(chǔ)工資有誤! )。 flag){ try { basicWage = (t[1].getText())。下面將按這 兩類 進(jìn)行解析: 輸入檢驗(yàn)異常 在增加員工的模塊的設(shè)計(jì)中,由于本課題設(shè)計(jì)將工工資的各項(xiàng)數(shù)據(jù)都確定為整型,所以當(dāng)用戶輸入的是不能轉(zhuǎn)化為整型數(shù)據(jù)的字符串時(shí),將引起異常,代碼中的處理如下: 工資管理系統(tǒng) 30 / 67 if(!t[1].getText().equals() amp。 5 異常處理 根據(jù)本課題的設(shè)計(jì)思路,在外層模塊的設(shè)計(jì)中,一般不涉及到異常的處理, 由于整個(gè)過(guò)程中有很多異常,并且一類異常也有很多,所以就將異常分類來(lái)討論,這樣就不會(huì)重復(fù),過(guò)程中把有些系統(tǒng)異常改為了自定義異常,作為自定義異常的示例 。 ()。 (u)。 ()。 } } 刪除員工方法 這過(guò)程比較特殊,先將給定 id的對(duì)象 load到內(nèi)存中,然后執(zhí)行刪除,提交事務(wù)就可以完成。 ()。 (row=+row)。 PreparedStatement ps = (sql)。 try { ().newInstance()。 加載驅(qū)動(dòng) ().newInstance()。 但是哎更新所以記錄的某一列時(shí), hibernate會(huì)將這個(gè)數(shù)據(jù)表都 load到內(nèi)存中,然后在內(nèi)存中逐條修改,這樣執(zhí)行耗資源的同時(shí),效率太低,還不如返回去用 jdbc操縱。 ()。 while(()){ 工資管理系統(tǒng) 28 / 67 (())。 IteratorUser u = (sqls).addEntity(u, ).list().iterator()。 ()。 這個(gè)查詢指定了 :SQL 查詢字符串和查詢返回的實(shí)體。 查詢方法中區(qū)別較大的是在儲(chǔ)存員工時(shí)用到的查詢方法,因?yàn)?mysql中有一特殊語(yǔ)句查詢最后插入的記錄 ,直接用 hibernate的注解和擴(kuò)展注解都不好用,所以我使用了 hibernate的 SQLQuery 接口,在 hibernate中使用原生態(tài)的 sql,這樣使用起來(lái)就方便多了,使用方法如下: 對(duì)原生 SQL 查詢執(zhí)行的控制是通過(guò) SQLQuery 接口進(jìn)行的,通過(guò)執(zhí)行 ()獲取這個(gè)接口。 其余地方與儲(chǔ)存的一模一樣,不再贅述。如: IteratorUserusers=(from User).list().iterator()。//調(diào)用 session的方法 ().mit()。//拿到當(dāng)前內(nèi)存中的 session,如果沒(méi)有則創(chuàng)建一個(gè) ()。 (1000)。 (5000)。 } 存儲(chǔ) 方法 實(shí)例化一個(gè) User對(duì)象,在( 1)的情況下,拿到 session后,調(diào)用 session的方法即可完成,具體如下: Test public void testsave(){ User u = new User()。 (sf)。以后每次執(zhí)行注解為 Test的方法時(shí)都會(huì)先調(diào)用 beforeclass方法,結(jié)束時(shí)都會(huì)調(diào)用 afterclass方法。 新建測(cè)試類 由于是在測(cè)試類中,所以每一個(gè)方法中都有重復(fù)的語(yǔ)句 獲得 session,所以先定義一個(gè)beforeclass 方法并注解為 BeforeClass,同時(shí)定義一個(gè) AfterClass 方法, 并注解為afterClass。增、刪、改、查功能的實(shí)現(xiàn)中大部分是通過(guò) hibernate訪問(wèn)數(shù)據(jù)庫(kù),進(jìn)而對(duì)數(shù)據(jù)庫(kù)的操縱,但是某些操縱通過(guò) hibernate 會(huì)得不償失,會(huì)占用大量?jī)?nèi)存,更有甚者,hibernate不能直接實(shí)現(xiàn),這種情況下是通過(guò) jdbc連接訪問(wèn)數(shù)據(jù)庫(kù),并操縱的。直接去 hibernate附帶的例子里 copy就行。s automatic session context management property name=current_session_context_classthread/property ! Disable the secondlevel cache ! 不用 hibernate的二級(jí)緩存 property name=/property ! Echo all executed SQL to stdout ! 配置在執(zhí)行過(guò)程中打印 sql語(yǔ)句,方便查錯(cuò) property name=show_sqltrue/property ! 顯示格式化的 sql語(yǔ)句 property name=format_sqltrue/property ! Drop and recreate the database schema on startup !
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1