每天記錄學習,每天會有好心情。*^_^*
今天和一個朋友共同完成了一個實驗室設備管理系統項目,我們在開發時選用的框架是SSM(MYECLIPSE)框架。我這個朋友知識有限,只會這個框架,哈哈,都是為了方便他。和往常一樣選用簡單又便捷的MYECLIPSE作為開發工具,這是一個 后台項目。這個系統的介紹是這樣的:近年來我國為了解決知識經濟發展導致的技能型人才巨大缺口,不斷加大對各類職業技術院校的建設力度,大量的精密設備儀器的添置與信息化設施建設穩步推進。然而作為信息化建設基礎薄弱的職業技術院校,卻面臨着教學實踐設備儀器的利用效率低下,管理維護機制效率不足,手動設備檔案管理模式缺陷等等諸多問題,嚴重阻礙實現國家需求巨大的技能人才培養進程。鑒於此,運用先進的計算技術與成熟的網絡技術,對於實踐設備儀器實現信息化管理,優化業務辦理效率,提升設備利用率,將具有十分重要的社會意義與實用價值。本文系統是實地調研重慶市三峽水利電力學校對於實驗室設備儀器管理的功能需求以及業務流程之后,結合軟件工程理論和管理學理論,以解決實驗室設備管理效率問題為目標,設計實現了一款集成設備管理功能,設備使用管理功能,設備維修管理功能,日常辦公功能,統計報表功能的實驗室設備管理系統。本文 主要開展的工作內容如下: 1.結合本研究課題的背景,分析當前課題研究的意義,以及國內外教育行業信息化進程以及設備管理系統發展現狀; 2.研究分析本文系統將需要用到的軟件開發理論與技術:MVC設計模式,Struts2代碼框架,B/S架構,Hibernate技術等等;,一個實驗室設備管理系統應包含用戶角色有管理員。為了能讓用戶順利登陸系統完成相關操作,需要為每種登陸角色設置賬戶和密碼字段。
維修的存在是為了能更好的結合系統的功能。設備表的聯系在這張表中得以體現,其關聯關系為維修的設備與設備的mingcheng字段對應。
總結得出該系統所有數據為:管理員(admin)、設備(shebei)、維修(weixiu)
管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
設備表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 設備id mingcheng | VARCHAR(255) | | 名稱 jieshao | VARCHAR(255) | | 介紹 zhuangtai | VARCHAR(255) | | 狀態 shebeibianhao | VARCHAR(255) | | 設備編號
維修表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 維修id shebei | VARCHAR(255) | | 設備 shebeiid | VARCHAR(255) | | 設備id zhuangtai | VARCHAR(255) | | 狀態
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggshiyanshishebei -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理員id',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理員'; -- ---------------------------- DROP TABLE IF EXISTS `t_shebei`; CREATE TABLE `t_shebei` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '設備id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名稱',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介紹',`zhuangtai` VARCHAR(255) DEFAULT NULL COMMENT '狀態',`shebeibianhao` VARCHAR(255) DEFAULT NULL COMMENT '設備編號',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='設備'; -- ---------------------------- DROP TABLE IF EXISTS `t_weixiu`; CREATE TABLE `t_weixiu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '維修id',`shebei` VARCHAR(255) DEFAULT NULL COMMENT '設備',`shebeiid` INT(11) DEFAULT NULL COMMENT '設備id',`zhuangtai` VARCHAR(255) DEFAULT NULL COMMENT '狀態',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='維修';
添加設備模塊:
系統中存在添加設備功能,通過點擊添加設備可以跳轉到該功能模塊,在該功能模塊中,填寫對應的設備信息。設備包含信息名稱,介紹,狀態,設備編號,填寫完所有信息后,通過post方法將數據提交到tianjiashebei.action中,該地址將在服務器中shebeiController類中的tianjiashebeiact方法中進行響應。響應結果為,獲取所有的設備信息,封裝一個shebei類,使用shebeiController類中定義的shebeidao的insert方法,將設備數據插入到數據庫的shebei表中。並給出用戶提示信息,添加設備成功,將該信息保存到request的message中,該信息將在頁面中進行展示。該部分核心代碼如下:
通過shebeidao的insert方法將頁面傳輸的設備添加到數據庫中 shebeidao.insert(shebei);
將添加設備成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加設備成功");
返回設備管理界面
return "forward:/tianjiashebei.action";
查詢設備模塊:
在瀏覽器中進入設備查詢頁面時,此時瀏覽器的地址欄為shebeiguanli.action,該地址將響應shebeiController類中的shebeiguanli,在該方法中,通過selectByexample方法獲取所有的設備信息,並將該信息保存到request中,在頁面進行循環展示。該部分核心代碼如下:
生成設備樣例類,通過example定義查詢條件 ShebeiExample example = new ShebeiExample();
通過shebeidao的selectByExample方法查詢出所有的設備信息 List shebeiall = shebeidao.selectByExample(example);
將設備信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("shebeiall", shebeiall);
返回設備管理界面
return "forward:/shebeiguanli.action";
修改設備模塊:
對已經上傳的設備信息可以進行修改操作,該部分操作在設備管理界面中點擊修改按鈕可以跳轉到設備修改頁面。在修改頁面中,將初始化所有的設備字段信息,字段信息包括名稱,介紹,狀態,設備編號。字段信息內容通過設備id獲取。修改后的信息傳入到shebeiController中接收為shebei。在shebeiController中包含有提前定義好的shebeidao,該參數為shebeiMapper是實現。shebeiMapper中定義了修改方法,此處使用修改方法為updateByPrimaryKeySelective,該方法可以將修改后信息同步到數據庫中,最終將修改成功信息返回頁面中。該部分代碼如下:
通過shebeidao的修改方法根據id修改對應的設備 shebeidao.updateByPrimaryKeySelective(shebei);
將修改設備成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改設備信息成功");
返回設備管理界面
return "forward:/shebeiguanli.action";
刪除設備模塊:
刪除設備功能的實現方式為,通過點擊刪除設備按鈕,向服務器發起get請求。請求中包含設備的id信息,在shebeiController中使用int接受該id,並將該id傳入shebeidao的deleteByPrimaryKey方法中。該方法的作用為根據id刪除對應設備。最后將刪除設備成功的信息返回頁面,該部分核心代碼如下:
通過shebeidao的刪除方法根據id刪除對應的設備 shebeidao.deleteByPrimaryKey(id);
將刪除設備成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除設備成功");
返回設備管理界面
return "forward:/shebeiguanli.action";
