031302410 031302206
第三次作業--結對程式設計
一、課表
- 功能分析:将excel表導入資料庫,将資料庫内容顯示在web上。
- 實作思路:使用PowerDesigner設計資料庫,使用eclipse程式設計實作excel表導入資料庫,最後使用myeclipse程式設計實作将資料庫内容顯示在web上。
二、PowerDesigner
資料庫設計考量:
-
首先要下載下傳好powerdesigner和sql server 2008
Powerdesigner的下載下傳安裝十分簡單,就不多提了。
這裡附上sql server2008的安裝教程:http://www.pojie99.com/teach/2012/0510/915.html
按照教程示範進行安裝即可,應該不會出現問題。(PS:注意在伺服器設定中,要對所有服務使用相同賬戶,不要打錯ID)
-
使用心得
先附上powerdesigner中兩種資料庫模型的教程:
http://www.cnblogs.com/ganqiyin/p/3161237.html
http://www.blogjava.net/wangdetian168/archive/2011/04/07/347847.html
我所選擇的是Physical Diagram Model
選擇資料庫模型
使用右側工具欄在空白處建立空表

輕按兩下表格進行操作
完成後變成這樣
在菜單欄中選擇 Database -> configure data connection
注意伺服器的名字不是IP位址,而是你在sql server 2008裡的伺服器名字
在菜單欄選擇 Database -> Generate database
然後在對應的資料庫中就可以看到了
三、将excel表導入到資料庫中
使用工具:eclipse和sql sever2008
Eclipse下載下傳位址:http://www.eclipse.org/downloads/
程式設計思想:這次導入并沒有使用到PowerDesigner所設計的資料庫,而是通過程式設計同時實作資料庫中表的建立和excel表的導入。首先需要兩張excel表格,一張就是要求導入的表格,另一張則是用于建立資料庫表的屬性。
如上圖,第一格為表名,後面為屬性名和資料類型和資料大小。其次要先到sql sever 2008中建立一個資料庫,代碼運作時,需要導入的對象,即建立好的資料庫名。而要求導入的表也做了些修改,改成了每行每列都規整的表(去掉了标題),然後将屬性名去掉,在上圖的中excel表中建立。
改後的表:
接下來就是代碼實作,即通過表名那份excel建立資料庫,然後通過循環和一些函數一行一行将資料導入到資料庫中,同時還要引入一些需要用到的包,即調用excel和sql server需要用到的包。代碼完成後,運作代碼,登入sql sever 2008找到之前建立的資料庫,就能找到那張表了,右鍵表點選編輯前兩百行就可以看到下圖導入成功後的表。(sql sever登入要使用sql sever身份驗證登入,我之前就是一直都沒辦法使用sa登入,一直出錯,網上查了解決方法,始終不可以,後來解除安裝重裝就可以了,不過解除安裝一定要解除安裝幹淨,不然安裝會報錯,也可以根據報錯去删除掉那些沒删幹淨的檔案)
源碼github連結:https://github.com/apiaoFZU2015/CourseManagement/tree/master/aa
導入資料庫後↓
四、 将資料庫中的表導出到web
使用工具:myeclipse和tomcat伺服器
Myeclipse和tomcat 安裝包github連結:(github目前連不上,等連上了上傳)
破解教程百度雲連結:
http://yun.baidu.com/share/link?shareid=1545620658&uk=1345004524&third=0
Myeclipse 安裝完成後需要破解,而破解教程也都在同一個包中。破解後還需要配置tomcat伺服器。
配置tomcat伺服器教程:http://jingyan.baidu.com/article/597a064397d47a312a52434f.html
接着就是編碼過程,通過代碼實作将資料庫中的表導出到web,将表設定了頁數,因為有41個條目,然後又為了那表在網頁中顯示的尺寸剛好,就設定了一頁22行,是以有兩頁。通過選擇語句
String sql="select top "+pageSize+" * from 課表 where (課程名稱 not in(select top "+pageSize*(pageNow-1)+" 課程名稱 from 課表 )) ";
将課表分頁,即先從頭選擇了22行放在一頁,然後在從頭選擇22行,但課程名稱是前22行中沒出現的做為第二頁。
然後設定好web上的視圖,并且編寫好連結資料庫和web的代碼,運作即可,代碼也上傳到了github上。
運作後web上的效果圖↓
源碼github連結:https://github.com/apiaoFZU2015/CourseManagement/tree/master/course2
五、Git hub
commit日志截圖:
連結:https://github.com/apiaoFZU2015/CourseManagement/commits/master
六、PSP表格
PSP | TIME(%) |
---|---|
計劃: | |
估計任務時間 | 6天 |
開發: | |
需求分析 | 3小時 |
設計思路 | 1小時 |
制定代碼規範 | |
具體編碼 | 3天 |
代碼審查 | |
測試 | 半天 |
報告: | |
測試報告 | |
計算工作量 | |
事後總結 |
七、結對照片
六、結對小結
這次程式設計任務并不容易,尤其是代碼部分困擾了我們,是以這次代碼都是在一個同學的幫助下完成的,雖然這次沒能完全靠我們自己完成,但結果也是可喜的,這次程式設計作業,使我們對java程式設計,eclipse和myeclipse的使用有了更進一步的學習,從中也學會了一些入門的操作和安裝這些軟體的過程,這些對于剛入門的我們都是非常有價值的,即使是同學幫忙也有遇到困難的時候,但通過讨論也找出問題,解決問題,順利的将作業要求完成了。經過兩次結隊任務,我覺得結隊能提高辦事效率,一個人有時反而會卡死在自己的一個程式設計盲點上,兩個人經過讨論,總是能比較快速的解決問題。經過這幾次作業,我最大的感悟是:為什麼計算機不是中國發明的,課程開設後新下或用了不下五款軟體或網頁,幾乎都是全英文,學得真心不容易!!!