每天記錄學習,每天會有好心情。*^_^*
今天和一個朋友共同完成了一個社區圖書館管理系統的設計與實現項目,我們在開發時選用的框架是SSM(MYECLIPSE)框架。我這個朋友知識有限,只會這個框架,哈哈,都是為了方便他。和往常一樣選用簡單又便捷的MYECLIPSE作為開發工具,這是一個 后台項目。這個系統的介紹是這樣的:隨着時代的發展和科技的進步,人類知識量呈爆發式增長,大量書籍出版,圖書館規模也因此不斷擴大。不僅如此,由於城市規模增長,人口眾多,人們不再希望必須親臨圖書館才能查詢書籍,進行續借等操作。為了管理大量圖書,在員工精簡的條件下為服務大量讀者,提高管理效率,需要以信息化、網絡化的圖書館管理系統代替傳統的手工管理,利用計算機技術為讀者服務。 社區圖書館規模較小,藏書量往往在數千至數萬,可是傳統的手工方式也已不能適應現代社會的需要。而與此同時,市面上現存的圖書館管理系統要么規模龐大、結構復雜、功能過多而冗余,要么價格超過社區圖館的承受能力。本文利用免費的JSP技術和MySQL數據庫,針對社區圖書館的特殊需要,設計並實現了一套基於B/S模式的圖書館管理系統,同時滿足功能精簡、實用以及低成本的要求。,一個社區圖書館管理系統的設計與實現應包含用戶角色有管理員、會員。為了能讓用戶順利登陸系統完成相關操作,需要為每種登陸角色設置賬戶和密碼字段。
系統中社群、會員、社員之間具有較強的聯系性。他們之間的關系為社員的社群與社群的mingcheng字段對應、社員的社群id與社群的id字段對應、社員的會員與會員的mingzi字段對應、社員的會員id與會員的id字段對應
。在社員表中可以體現出這種關系。
總結得出該系統所有數據為:管理員(admin)、社群(shequn)、社員(sheyuan)、會員(huiyuan)
管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
社群表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 社群id mingcheng | VARCHAR(255) | | 名稱
社員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 社員id shequn | VARCHAR(255) | | 社群 shequnid | VARCHAR(255) | | 社群id huiyuan | VARCHAR(255) | | 會員 huiyuanid | VARCHAR(255) | | 會員id
會員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 會員id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼 jieshao | VARCHAR(255) | | 介紹
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for gg -- ---------------------------- 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_shequn`; CREATE TABLE `t_shequn` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '社群id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名稱',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='社群'; -- ---------------------------- DROP TABLE IF EXISTS `t_sheyuan`; CREATE TABLE `t_sheyuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '社員id',`shequn` VARCHAR(255) DEFAULT NULL COMMENT '社群',`shequnid` INT(11) DEFAULT NULL COMMENT '社群id',`huiyuan` VARCHAR(255) DEFAULT NULL COMMENT '會員',`huiyuanid` INT(11) DEFAULT NULL COMMENT '會員id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='社員'; -- ---------------------------- DROP TABLE IF EXISTS `t_huiyuan`; CREATE TABLE `t_huiyuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '會員id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介紹',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='會員';
添加社群模塊:
在shequnController中定義tianjiashequnact接收頁面傳入的社群參數,定義為shequn。其中shequn包含字段:名稱,使用tianjiashequnact將該社群對象存入數據庫中,在shequnMapper中定義了insert方法,匹配數據庫中的insert into shequn語句實現將社群數據存入數據庫的操作。該部分核心代碼如下:
通過shequndao的insert方法將頁面傳輸的社群添加到數據庫中 shequndao.insert(shequn);
將添加社群成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加社群成功");
返回社群管理界面
return "forward:/tianjiashequn.action";
查詢社群模塊:
社群的查詢模塊實現方式為,在頁面中發起shequnguanli.action請求。通過該請求,響應服務器shequnController類中的shequnguanli,在該方法中通過selectByexample進行數據的查詢操作。將所有的社群信息查詢后,保存到request中的shequnall中,在頁面中進行展示,返回shequnguanli.jsp,該部分核心代碼如下所示:
生成社群樣例類,通過example定義查詢條件 ShequnExample example = new ShequnExample();
通過shequndao的selectByExample方法查詢出所有的社群信息 List shequnall = shequndao.selectByExample(example);
將社群信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("shequnall", shequnall);
返回社群管理界面
return "forward:/shequnguanli.action";
修改社群模塊:
在頁面填寫完修改信息后,點擊修改按鈕,將數據提交到xiugaishequn中,封裝為一個社群
,使用update方法修改該社群信息,將數據同步到數據庫,完成修改操作。
定義修改成功提示信息,修改社群成功,並保存到request中具體代碼如下:
通過shequndao的修改方法根據id修改對應的社群 shequndao.updateByPrimaryKeySelective(shequn);
將修改社群成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改社群信息成功");
返回社群管理界面
return "forward:/shequnguanli.action";
刪除社群模塊:
在管理頁面中,點擊刪除。頁面將通過a標簽的href屬性,使用get方法將該社群
的id上傳到服務器中,在服務器中通過shequnController類中的shanchushequn進行接收,之后調用shequnMapper中的deleteByPrimaryKey方法根據ID進行刪除。將刪除信息保存到request的message中,在頁面給出用戶刪除成功的提示信息,該部分核心代碼如下:
通過shequndao的刪除方法根據id刪除對應的社群 shequndao.deleteByPrimaryKey(id);
將刪除社群成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除社群成功");
返回社群管理界面
return "forward:/shequnguanli.action";