摘 要:用計算機管理教師信息具有可靠、方便、省時省力的特點。當今各種管理軟件大部分只針對一個學校或者更大的范圍來編寫,它具有通用性良好的特點,但對于小領域如一個系來說,它就很難適應這個系特殊的管理。而該設計正是基于計算機系教師信息管理的特點來開發的。它可以實現教師信息的錄入、添加、修改、刪除、查詢、保存到Excel、打印預覽等基本功能。同時還為管理者提供統計、制表、系統日志、開介紹信等特色功能。該系統具有界面友好、操作方便、成本低廉、符合管理者習慣的特點。另外,系統采用Java語言開發,具有可移植性良好、不依賴于操作系統的特點。同時采用SQL Server 2000數據庫管理系統做數據庫,是因為它具有管理方便,存儲量大的特點,適合計算機系信息管理的要求。相信該系統的開發必將極大的方便計算機系教師信息管理者的管理。
關鍵詞:Java 信息管理系統 數據庫 模式
中圖分類號:TP311.13\t\t文獻標識碼:A\t\t\t文章編號:1672-3791(2011)10(a)-0006-02
大部分的信息管理系統中大部分是針對一個學校或者一個單位設計的,從宏觀上說確實方便了學校或者單位,但從微觀上講卻不適合小型組織的要求,例如一個系。因此開發一個針對學校的某個部門的教職工信息管理系統就顯得尤為重要。 本系統的開發目的是開發一款適合計算機系教職工信息管理特點的軟件,來方便管理者對這些信息的管理。
1 開發工具簡介
本系統使用JDK1.4.0作為開發環境,編程語言為Java,使用SQL Server2000做數據庫。
Java是在C++的基礎上研制開發的,它克服了C++語言在編寫程序時的缺點,如:指針的使用,使得編程更加簡單。它主要有以下特點:(1)可移性:Java本身具備很好的可移植性,可以適用于各種系統。(2)解釋性:Java解釋器能直接地在任何機器上執行Java位元碼,因此在進行程序聯結時,節省時間,這對于縮短程序的開發過程,有極大的幫助。(3)安全性:Java是被設計用于網絡及分布式的環境中,安全性當然是一個很重要的考慮。Java擁有數個階層的互鎖保護措施,能有效地防止病毒的侵入和破壞行為的發生。(4)結構中立性:如何使一個應用程序可以在每一種機器上執行,是一個難題。Java的編譯器產生一種結構中立的目標文件格式,這使得編譯碼得以在很多種處理器中執行。
Microsoft SQL Server 2000是Microsoft公司于2000年底推出的關系型數據庫管理系統,它具有以下幾個主要特點:(1)豐富的圖形化管理工具,使系統管理、操作更為方便。(2)動態自動管理和優化功能。(3)充分的Internet技術支持。(4)豐富的編程接口工具,使用戶開發SQL Server數據庫應用程序更加靈活。(5)具有良好的伸縮性和可靠性。(6)管理方式簡單化。
2 系統分析
本系統旨在為計算機系教職工信息管理者提供一個方便、經濟實用的軟件,因此在設計之初便圍繞以下目標展開:(1)方便管理者管理;(2)最大限度的提供教工的信息量,以方便管理者按實際要求來制作統計報表;(3)盡量節省系統資源。
2.1 系統的功能模塊
根據調研,教職工信息的管理流程大體是:管理者錄入信息→管理者查詢、修改、添加、刪除、統計信息→制表→輸出、打印信息。因此本系統主要可以實現教職工信息的錄入、查詢、修改、刪除、統計、根據實際情況制表、輸出到Excel、打印報表信息。另外本系統還提供系統日志、管理員改密、開介紹信、以及幫助信息和數據庫備份和恢復操作的功能。如圖1所示。
2.2 功能描述
(1)系統維護模塊。
[手工備份]可以選擇備份路徑,填寫備份名稱從而實現數據庫備份的功能。
[數據庫恢復]選擇已備份的數據庫備份文件路徑,系統根據此路徑實現數據庫的恢復。
[系統日志]向用戶提供插入、刪除、修改、添加記錄信息的操作日志以及修改密碼和數據庫恢復、備份的系統日志。
[修改密碼]用戶可以通過此項功能實現用戶名和密碼的修改。
(2)常用表查詢模塊。
[外系教工情況表]在此模塊中可以實現對外系教工情況的基本查詢、高級查詢、添加、修改、刪除、全部刪除、刷新、統計、打印預覽、導出到Excel的功能。
[本系教工情況表]、[教工學歷職稱表]、[教工人事調動表]、[教工黨政情況表]、[教工培訓情況表]、[任課情況表]、[課程設置表]、 [教工科研表]、[教工專利表]、[教工專著表]、[學生成績表]、[學生情況表]、[畢業設計表]、[畢設情況表]均和上述情況類似,不再贅述。
[開介紹信]此功能相當于為管理者打開一個類似于Microsoft Word的編譯器,使管理者可以在其中書寫介紹信,然后預覽打印介紹信。
(3)制表與統計功能模塊。
[制表統計]在此模塊中,管理者可以實現隨心所欲的制表,也就是說可以根據不同的需要來選擇不同的字段來制作想要的表格。在此模塊中同樣可以實現統計、保存到Excel的功能。
(4)基表維護。
[教工基表維護]在此模塊中可以實現對教工基本情況的基本查詢、高級查詢、添加、修改、刪除、全部刪除、統計、刷新、打印預覽、導出到Excel的功能。
[課程基表維護]、[科研基表維護]、[專利基表維護]、[專著基表維護]、[畢設基表維護]、[系別基表維護]、[學生基表維護]均與上述情況類似,不再贅述。
(5)幫助功能模塊。
[關于本系統]此功能主要是查看系統的版本、版權、項目開發者、主題等信息。
[使用幫助]此功能模塊的作用主要是查詢某個功能(如:修改)的如何使用,幫助信息使用chm幫助文檔格式編寫。
[相關說明]此功能主要是向管理者說明在使用的時候應注意的事項。采用Word文檔的形式實現。
(6)退出功能模塊。
實現退出系統的功能。
(7)系統登錄模塊。
此模塊主要實現對非法用戶的限制進入,如果用戶是合法用戶則可以進入系統進行合法的操作,如果是非法用戶就無法進入系統進行操作。
3 系統實現
本系統是一個單機版的軟件,只對教工信息管理者開放,因此在系統登錄時就設置了系統默認的密碼,在管理員第一次登錄時就會讓管理員輸入系統登錄的默認密碼,在驗證無誤后系統將呈現打開狀態,這時管理者就會取得所有權限,實現上述功能模塊的各個功能。以下簡單敘述了兩個關鍵部分的代碼。
3.1 數據庫連接
本系統連接數據庫采用JDBC橋的模式,這是一種Java語言直接訪問數據庫的模式,它的最大的好處在于不用像ODBC那樣,配置本地數據源和驅動。連庫代碼如下。
String url=\"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName =tmmstem\";//連接路徑為本地連接,數據庫名為tmmstem
String username = \"sa\";//登錄數據庫時的用戶名為sa
String password = \"\";//登錄數據庫時的密碼為空
try
{
Class.forName( \"com.microsoft.jdbc.sqlserver.SQLServerDriver\"); //加載數據庫驅動
connection = DriverManager.getConnection(
url, username, password );
statement = connection.createStatement(); //創建連接
}
catch ( ClassNotFoundException cnfex )
{
System.err.println(\"裝載 JDBC/ODBC 驅動程序失敗。\" );
cnfex.printStackTrace();
System.exit( 1 );
}
catch ( SQLException sqlex )
{
System.err.println( \"無法連接數據庫\" );
sqlex.printStackTrace();
System.exit( 1 );
}
3.2 與EXCEL數據的交互
管理者所能執行的操作為工具欄中的刪除、全部刪除、保存到Excel三項。
首先介紹刪除。刪除遵循先選中后刪除的原則,即當管理者想刪除某一行時必須先選中此行,然后點擊刪除按鈕就會刪除選中的行并重繪表格。具體選中代碼如下。
table.addMouseListener(new LeftClickListener(table));//給表格添加鼠標點擊事件偵聽器
/*以下是新定義的鼠標點擊事件偵聽處理類*/
class LeftClickListener extends MouseAdapter {
public LeftClickListener(JTable table){this.table=table;}
public void mousePressed(MouseEvent e) {
int row = table.rowAtPoint(e.getPoint());//記錄鼠標點擊時所在的行
}
}
}
以上代碼只是選中一行的情況,即每次鼠標點擊后,所選中的行號row就會隨之變化。因此點擊刪除按鈕后,只會刪除鼠標最后一次點擊時所在的行號。另外本系統還有支持多行選中的代碼,由于篇幅所限,將在附錄中給出。
當選中操作完成后,管理者只要點擊刪除按鈕就會執行刪除行的SQL語句。
query=\"delete xtrzhi where xhao='\"+defaultModel.getValueAt(j,0)+\"'\";//刪除表格中選定的第j行
其中的j就是要刪除的行,defaultModel.getValueAt(j,0)是得到此行的編號。
當管理者刪除操作成功后,程序就會自動重繪表格,讓它顯示刪除后的所有記錄。即執行代碼table.revalidate();//表格重繪。同時會彈出提示窗口提示管理者刪除成功。
全部刪除和刪除代碼基本相同,只是不用選定行,因此不再贅述。而保存到Excel有兩種形式。一種是把結果集保存到Excel,另一種是把當前表格保存到Excel。第一種形式中,必須在保存之前先執行查詢語句,然后,把查詢語句的結果集即rs.getMetaData(),傳遞給應用程序。然后應用程序就會自動把結果集中的每一個值保存到相應的Excel表中。其中寫入Excel表單元值的代碼如下。
while(rs.next())
{row= sheet.createRow((short)iRow);;
for(int j=1;j<=nColumn;j++)
{
cell = row.createCell((short)(j-1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(rs.getObject(j)!=1)//如果結果集中的某一列為空值單元格內容就設置為空格
cell.setCellValue(rs.getObject(j).toString().trim());
else cell.setCellValue(\" \");
}
iRow++;
}
把表格中的數據導入到Excel與上述情況類似,只不過是將表格的模式傳遞給應用程序,然后執行類似的操作,同時修改為以下代碼。
//設置單元格的值為要導出表格的某一單元格的值。
cell.setCellValue(defaultModel.getValueAt(i,j).toString().trim())。
4 結語
本系統基本實現了對教工信息的錄入、查詢、修改、刪除、統計、輸出到Excel等常用的功能,這些功能操作方便、實現代碼簡潔、符合管理者的操作習慣。除這些特點外本系統最大的特點就是可以按照管理者的意愿制表以及實現多重統計。
本系統的成功開發將極大的方便計算機系教職工信息管理者的管理,同時只要本軟件稍加改動還可以滿足其它各系對教工信息的管理。本系統除了對小型部門的適用以外,還具有跨平臺性良好的特點,適用于各個系統,如Windows XP、2000、98、Linux、Unix等。是一款不依賴于操作系統的軟件。另外它還具有運行成本低廉的特點,使用者只需要安裝SQL Server2000數據庫和Java虛擬機即可運行此軟件。
參考文獻
[1]\t(美)avid Flanagan.Java實例技術手冊[M].中國電力出版社,2001,11.
[2]\t(美)斯貝爾.Java高級編程[M].清華大學出版社,2006,12.
[3]\t飛思科技產品研發中心.Java 2應用開發指[M].電子工業出版社,2003,1.
[4]\t魏海萍.標準Java 2使用手冊[M].電子工業出版社,2005,1.
[5]\t唐小軍,等.Java項目設計與開發范例[M].電子工業出版社,2005,4.
[6]\t(美)Bruce Eckel.Java編程思想[M].機械工業出版社,1999,4.
[7]\t薩師煊.數據庫系統概論[M].高等教育出版社,2003,2.
[8]\t閃四清.Server簡明教程[M].清華大學出版社,2005,5.
[9]\t朱福喜,唐曉軍.Java程序設計技巧與開發實例[M].人民郵電出版社,2004,4.
[10]\t張孝祥.Java就業培訓教程[M].清華大學出版社,2003,9.