每天記錄學習,每天會有好心情。*^_^*
今天和一個朋友共同完成了一個網絡相冊管理系統項目,我們在開發時選用的框架是SSM(MYECLIPSE)框架。我這個朋友知識有限,只會這個框架,哈哈,都是為了方便他。和往常一樣選用簡單又便捷的MYECLIPSE作為開發工具,這是一個 后台項目。這個系統的介紹是這樣的:隨着網絡科技的發展,雲端技術的完善,越來越多的網絡用戶喜歡將文件等信息放置在網絡上,既方便下載瀏覽,又減少攜帶的麻煩。這其中又以上傳相片至網絡最為興盛,在網絡上曬相片已經成為一種時尚潮流,這記錄着用戶的生活經歷和足跡,不但能起紀念作用,更是與他人分享自己人生經歷與知識的渠道。隨着國外著名圖片分享應用Instagram不斷火熱,關於網絡分享與存儲圖片的應用也慢慢增多,網絡相冊服務也因此應運而生並日趨盛行。網絡相冊不但能解決用戶自身的存儲問題,增進人與人之間的聯系分享朋友快樂的重要途徑,更體現着互聯網分享的精神。由於信息交流的多樣化,特別是電子信息技術的發展,同時,隨着數據庫技術,客戶/服務器技術等的發展,使得網絡相冊系統的功能更加完善。網絡相冊管理系統的特點是從相冊管理的角度出發,通過數據庫將幾乎所有與之相關的數據統一管理起來,從而形成了集成的信息集。網絡相冊管理系統較好的用戶界面,信息共享,信息管理使得管理人員和用戶使用更加的便捷,而且網絡相冊系統的可操作性非常強,針對不同教育程度的人群。本文以此為背景,采用軟件工程的方法,結合實際,從網絡相冊發展的現狀和功能分析出發,確立網絡相冊系統建設的目標,一個網絡相冊管理系統應包含用戶角色有管理員、用戶。為了能讓用戶順利登陸系統完成相關操作,需要為每種登陸角色設置賬戶和密碼字段。
系統中用戶、類型之間存在關聯關系,我們將其關聯關系保存在相冊表中。他們的關聯關系是這樣的相冊的用戶與用戶的mingzi字段對應、相冊的用戶id與用戶的id字段對應、相冊的類型與類型的mingzi字段對應、相冊的類型id與類型的id字段對應
。圖片的存在是為了能更好的結合系統的功能。相冊表的聯系在這張表中得以體現,其關聯關系為圖片的相冊與相冊的biaoti字段對應、圖片的相冊id與相冊的id字段對應
。
總結得出該系統所有數據為:管理員(admin)、用戶(yonghu)、相冊(xiangce)、類型(leixing)、圖片(tupian)
管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
用戶表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 用戶id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼 jieshao | VARCHAR(255) | | 介紹
相冊表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 相冊id biaoti | VARCHAR(255) | | 標題 jieshao | VARCHAR(255) | | 介紹 yonghu | VARCHAR(255) | | 用戶 yonghuid | VARCHAR(255) | | 用戶id leixing | VARCHAR(255) | | 類型 leixingid | VARCHAR(255) | | 類型id
類型表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 類型id mingzi | VARCHAR(255) | | 名字
圖片表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 圖片id biaoti | VARCHAR(255) | | 標題 miaoshu | VARCHAR(255) | | 描述 shangchuanshijian | VARCHAR(255) | | 上傳時間 tupian | VARCHAR(255) | | 圖片 xiangce | VARCHAR(255) | | 相冊 xiangceid | VARCHAR(255) | | 相冊id
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggwangluoxiangce -- ---------------------------- 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_yonghu`; CREATE TABLE `t_yonghu` (`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='用戶'; -- ---------------------------- DROP TABLE IF EXISTS `t_xiangce`; CREATE TABLE `t_xiangce` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '相冊id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '標題',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介紹',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用戶',`yonghuid` INT(11) DEFAULT NULL COMMENT '用戶id',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '類型',`leixingid` INT(11) DEFAULT NULL COMMENT '類型id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='相冊'; -- ---------------------------- DROP TABLE IF EXISTS `t_leixing`; CREATE TABLE `t_leixing` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '類型id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='類型'; -- ---------------------------- DROP TABLE IF EXISTS `t_tupian`; CREATE TABLE `t_tupian` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '圖片id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '標題',`miaoshu` VARCHAR(5000) DEFAULT NULL COMMENT '描述',`shangchuanshijian` VARCHAR(255) DEFAULT NULL COMMENT '上傳時間',`tupian` VARCHAR(255) DEFAULT NULL COMMENT '圖片',`xiangce` VARCHAR(255) DEFAULT NULL COMMENT '相冊',`xiangceid` INT(11) DEFAULT NULL COMMENT '相冊id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='圖片';
添加圖片模塊:
系統中存在添加圖片功能,通過點擊添加圖片可以跳轉到該功能模塊,在該功能模塊中,填寫對應的圖片信息。圖片包含信息標題,描述,上傳時間,圖片,相冊,相冊id,填寫完所有信息后,通過post方法將數據提交到tianjiatupian.action中,該地址將在服務器中tupianController類中的tianjiatupianact方法中進行響應。響應結果為,獲取所有的圖片信息,封裝一個tupian類,使用tupianController類中定義的tupiandao的insert方法,將圖片數據插入到數據庫的tupian表中。並給出用戶提示信息,添加圖片成功,將該信息保存到request的message中,該信息將在頁面中進行展示。該部分核心代碼如下:
通過tupiandao的insert方法將頁面傳輸的圖片添加到數據庫中 tupiandao.insert(tupian);
將添加圖片成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加圖片成功");
返回圖片管理界面
return "forward:/tianjiatupian.action";
查詢圖片模塊:
在后台中定義圖片查詢模塊,在側邊欄中點擊圖片管理,可以跳轉到圖片管理界面。在該頁面中通過tupianController中定義tupianguanli響應圖片查詢模塊。在tupianguanli中查詢出所有信息,返回頁面進行循環展示。查詢方法為tupiandao中的selectByexample方法。該部分核心代碼如下:
生成圖片樣例類,通過example定義查詢條件 TupianExample example = new TupianExample();
通過tupiandao的selectByExample方法查詢出所有的圖片信息 List tupianall = tupiandao.selectByExample(example);
將圖片信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("tupianall", tupianall);
返回圖片管理界面
return "forward:/tupianguanli.action";
修改圖片模塊:
對已經上傳的圖片信息可以進行修改操作,該部分操作在圖片管理界面中點擊修改按鈕可以跳轉到圖片修改頁面。在修改頁面中,將初始化所有的圖片字段信息,字段信息包括標題,描述,上傳時間,圖片,相冊,相冊id。字段信息內容通過圖片id獲取。修改后的信息傳入到tupianController中接收為tupian。在tupianController中包含有提前定義好的tupiandao,該參數為tupianMapper是實現。tupianMapper中定義了修改方法,此處使用修改方法為updateByPrimaryKeySelective,該方法可以將修改后信息同步到數據庫中,最終將修改成功信息返回頁面中。該部分代碼如下:
通過tupiandao的修改方法根據id修改對應的圖片 tupiandao.updateByPrimaryKeySelective(tupian);
將修改圖片成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改圖片信息成功");
返回圖片管理界面
return "forward:/tupianguanli.action";
刪除圖片模塊:
在管理頁面中,點擊刪除。頁面將通過a標簽的href屬性,使用get方法將該圖片
的id上傳到服務器中,在服務器中通過tupianController類中的shanchutupian進行接收,之后調用tupianMapper中的deleteByPrimaryKey方法根據ID進行刪除。將刪除信息保存到request的message中,在頁面給出用戶刪除成功的提示信息,該部分核心代碼如下:
通過tupiandao的刪除方法根據id刪除對應的圖片 tupiandao.deleteByPrimaryKey(id);
將刪除圖片成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除圖片成功");
返回圖片管理界面
return "forward:/tupianguanli.action";