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

正文內(nèi)容

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

2025-06-27 12:18本頁面
  

【正文】 roperty ! 連接到本地的一個叫 coursedesign的數(shù)據(jù)庫 property name=jdbc: ! 數(shù)據(jù)庫用戶名 property name=root/property ! 數(shù)據(jù)庫用戶密碼 property name=root/property ! 配置數(shù)據(jù)庫方言 property name=dialect/property 工資管理系統(tǒng) 25 / 67 ! 配置數(shù)據(jù)庫連接池,這里單一訪問就配置為 1 property name=1/property ! 配置線程 ! Enable Hibernate39。其作用是顯示hibernate執(zhí)行過程中的詳細(xì)情況,非常有必要步驟,對于查錯,測試修改非常重要的。 并將里面如下行的注釋解開: = = = =%d{ABSOLUTE} %5p %c:%L %m%n =warn, stdout =debug 工資管理系統(tǒng) 26 / 67 4 后臺功能實(shí)現(xiàn) 四大功能的實(shí)現(xiàn)。 為了便于測試,這些方法都是先新建一個測試類 MyTest,用 測試通過了,再將方法改成相應(yīng)的傳引用的方法封裝在一個 叫 HibernateOperate的 java類,各種功能的實(shí)現(xiàn)均封裝在這個類中, 在附錄里兩個類都有完整的代碼, 下面將逐一介紹 MyTest類 中的方法。在 main 方法 中調(diào)用 beforeclass 就可以了。代碼如下: BeforeClass public static void beforeclass(){ sf = new AnnotationConfiguration().configure().buildSessionFactory()。 } AfterClass public static void afterclass(){ ()。 (d但是 )。 工資管理系統(tǒng) 27 / 67 (2021)。 Session session = ()。//開始事物 (u)。//提交事務(wù) } 查詢 方法 查詢?nèi)繒r,用 list來裝從數(shù)據(jù)庫拿到的對象,用迭代器 Iterator來遍歷。 里面值得注意的是查詢語句 from的后面不是表明,而是類名(實(shí)體類),是通過 HQL 拿到的,這點(diǎn)要與 SQL 語句分開。 在按工號和姓名查詢的過中和上述方法沒有重要區(qū)別,完全是 SQL 條件的差異,這里也省略了,詳情見附件。最簡單的情況下,我們可以采用以下形式: Listcats = (select*fromcats).addEntity().list()。 所以查詢最后一條記錄的方法如下: Test public void testQueyLast(){ Session session = ()。 String sqls = select * from user where id=(select max(id) from user)。 ().mit()。 } } 數(shù)據(jù)更新 方法 該課程設(shè)計中用到的數(shù)據(jù)更新有兩種,即更新某一條記錄的某一項(xiàng) 和更新所有記錄的某一列,更新某一條記錄的某一項(xiàng)的時候,和前面講述的查詢基本相同,關(guān)鍵的不同的地方是 Query q = (update User u set =4555 where =3)。這里,這些通過 hibernate的自帶文檔可以輕易得知。先將 mysql的驅(qū)動 import 到工程中,在 myeclipse 下的操作步驟是右鍵單擊工程 —build path?configure build path選擇 libraries 的對話框中點(diǎn)擊 add external jars?找到 —點(diǎn)擊 ok就行。然后通過 url, username和 password取得連接就可以了,具體方法如下: Test public void testUpdateByColum(){ String sql = update user u set =8888。 Connection = (jdbc:,root,root)。 int row = ()。 ()。 }catch (Exception e) { // TODO Autogenerated catch block (更新數(shù)據(jù)失敗 )。具體方法如下: 工資管理系統(tǒng) 29 / 67 Test public void testDeleteById(){ //按工號刪除 Session session = ()。 User u = (User)(,5)。 ().mit()。 } 到此,通過 hibernate或者 jdbc操縱數(shù)據(jù)的方法以設(shè)計完成,下一步只要將測試類中的方法 copy到 HibernateOperate類中,對每個方法中都加上 beforeclass和 afterclass中的內(nèi)容,并且設(shè)計好引用的傳遞就可以了,因?yàn)樵诟郊杏型暾a,所以這里不再討論HibernateOperate類中的方法。 分析該課程設(shè)計的異常主要出現(xiàn)在輸入檢驗(yàn)、連接數(shù)據(jù)庫 和 數(shù)據(jù)操縱這 兩 個地方。amp。 } catch (NumberFormatException e1) { flag = false。 } } if(!t[2].getText().equals() amp。 flag){ try { postWage = (t[2].getText())。 (您輸入的職務(wù)工資有誤! )。amp。 } catch (NumberFormatException e1) { flag = false。 } } 在查詢時,當(dāng)用戶輸入的工號不合法時也是同樣的處理方式,如: try { int a = (())。 (a,result)。 } 數(shù)據(jù)操縱異常 修改和刪除中均有用到工號,但是處理方法完全一樣,所以修改和刪除中的異常不再贅述。 } catch (IllegalAccessException e) { ()。 工資管理系統(tǒng) 31 / 67 } catch (SQLException e) { ()。 } 自定義異常 首先得自己新建一個異常類,必須繼承與系統(tǒng)已有的異常類,為了方便直觀,我重寫了父類的 toString方法。 UserException(){ super()。 } } 在通過 hibernate 操縱數(shù)據(jù)時的異常,我把它定義成了一個自定義異常實(shí)例,在HibernateOperate 類中時久讓它往外拋,在各個模塊中來 catch,這樣就是一個成功的自定義異常了。 Session session = ()。 IteratorUser users = (from User u where (++) +msg+ order by +mss+ +mgg).list().iterator() 。 ()。 } ()。 工資管理系統(tǒng) 32 / 67 } 在 QueryPanel中來 catch HibernateOperate q = new HibernateOperate()。 } catch (UserException e1) { (())。 就如上述的這種用法。 sf = new AnnotationConfiguration().configure().buildSessionFactory()。 try { ()。 (()+ 已經(jīng)刪除 )。 ().mit()。 } catch (HibernateException e) { (由于 hibernate連接和操縱數(shù)據(jù)異常,刪除失敗??! )。 ()。 } 工資管理系統(tǒng) 33 / 67 6 總結(jié)與體會 總結(jié) 本課程設(shè)計重點(diǎn)分為兩個方面,一是圖形界面的設(shè)計,主要包括界面圖形的設(shè)計、監(jiān)聽器的使用、事件處理;二是后臺數(shù)據(jù)操作,主要包括數(shù)據(jù)庫的連接、 hibernate的基礎(chǔ)配置、增刪改查操作、異常處理。子模塊以卡片的形式在主模塊中, 這樣不至于所有的操作接賣弄都擠在一起。 后臺數(shù)據(jù)操縱中,主要使用的是通過 hibernate訪問數(shù)據(jù)庫的, hibernate訪問數(shù)據(jù)庫還有另一種比較你麻煩的訪問方式,那就是不用注解,全部通過配置 hibernate 的 xml 文件訪問,寫起來比較麻煩。 體會 在圖形界面設(shè)計中,使用了系統(tǒng)里提供的多種圖形常用類,通過查閱相關(guān)書籍和查閱 sun公司給出的 api,加深了對 gui 編程這一塊的掌握程度,比如其中的布局設(shè)計、監(jiān)聽器、事件處理等。在增加員工的子模塊中,如果增加成功,系統(tǒng)會將增加的那個員工的信息打印出來,每個這樣讓每個員工都知道自己的工號。當(dāng)修改員工信息時,一定要確認(rèn)才能修改,以避免誤改的可能。這些是設(shè)計思路的嚴(yán)謹(jǐn) 范疇的體會。通過查閱官方給出的一手文檔,可以更清楚的指導(dǎo)其運(yùn)行機(jī)制學(xué)到更多的新知識。 測試類的應(yīng)用,在寫一個比較大的項(xiàng)目時,測試類非常有用,并且應(yīng)配置日志文件,打印sql 語句。 工資管理系統(tǒng) 35 / 67 7 用戶使用說明書 ( 1) 運(yùn)行叫 MyApplet的類 ; ( 2) 在第一排四個按鈕中選擇將要進(jìn)行的操作; ( 3) 查詢操作時,選擇按工號查詢則必須輸入工號;選擇按姓名查詢則必須輸入姓名,其他查詢中的選項(xiàng)任由用戶選擇; ( 4) 增加員工時,員工工號由系統(tǒng)給出,無需輸,但是必須輸入員工姓名,其他項(xiàng)非必填項(xiàng); ( 5) 進(jìn)行修改操作時,系統(tǒng)彈出是否確認(rèn)修改,在系統(tǒng)提示修改成功時才表明修改成功,都則失?。? ( 6) 進(jìn)行刪除操作時,系統(tǒng)將用戶將要刪除的員工信息打印在下方文本框中,請確認(rèn)后選擇是否刪除; ( 7) 關(guān)閉系統(tǒng)時,請點(diǎn)擊窗口右上角的“ X”。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 Label tittle = new Label(工資管理系統(tǒng) )。 GridBagLayout gbLayout = new GridBagLayout()。 CardLayout myCard = new CardLayout()。 QueryPanel qp = new QueryPanel()。//增加用戶模塊 UpdatePanel up = new UpdatePanel()。//刪除模塊 Override public void init() { (gbLayout)。 (new Font(Serif,50,50))。 b[0] = new Button(查詢 )。//注冊監(jiān)聽 b[1] = new Button(儲存 )。 b[2] = new Button(修改 )。 b[3] = new Button(刪除 )。 p[0] = new Panel(new GridLayout(1,1))。 p[0].add(tittle)。 p[2] = new Panel(myCard)。 p[2].add(qp,查詢 )。 p[2].add(up,修
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1