在學習家庭理財系統的設計與實現項目的時候,方便日后能及時查閱,在本平台中記錄一下該項目的開發流程。在學習時候的選用了SSM(MYECLIPSE),這個框架不論是學習還是使用都非常方便,簡單易上手。是我們學習編程可以重點學習的一個框架,我在開發家庭理財系統的設計與實現項目的時候選用了MYECLIPSE來搭建SSM(MYECLIPSE)框架,最終將家庭理財系統的設計與實現項目開發為了一個 后台項目。
該項目具有的用戶角色包括了管理員、用戶,每個角色都含有自己的登錄賬號和密碼。
總結得出該系統所有數據為:管理員(admin)、用戶(yonghu)、日常收支(richangshouzhi)、債務(zhaiwu)
管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
用戶表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 用戶id xingming | VARCHAR(255) | | 姓名 nianling | VARCHAR(255) | | 年齡 xingbie | VARCHAR(255) | | 性別 quanxian | VARCHAR(255) | | 權限 username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
日常收支表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 日常收支id gongzishouru | VARCHAR(255) | | 工資收入 qitashouru | VARCHAR(255) | | 其他收入 shenghuokaizhi | VARCHAR(255) | | 生活開支 qitakaizhi | VARCHAR(255) | | 其他開支
債務表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 債務id zhaizhu | VARCHAR(255) | | 債主 jine | VARCHAR(255) | | 金額 shijian | VARCHAR(255) | | 時間
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjiatinglicaixitongdsjysx -- ---------------------------- 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',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年齡',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性別',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '權限',`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_richangshouzhi`; CREATE TABLE `t_richangshouzhi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '日常收支id',`gongzishouru` VARCHAR(255) DEFAULT NULL COMMENT '工資收入',`qitashouru` VARCHAR(255) DEFAULT NULL COMMENT '其他收入',`shenghuokaizhi` VARCHAR(255) DEFAULT NULL COMMENT '生活開支',`qitakaizhi` VARCHAR(255) DEFAULT NULL COMMENT '其他開支',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='日常收支'; -- ---------------------------- DROP TABLE IF EXISTS `t_zhaiwu`; CREATE TABLE `t_zhaiwu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '債務id',`zhaizhu` VARCHAR(255) DEFAULT NULL COMMENT '債主',`jine` VARCHAR(255) DEFAULT NULL COMMENT '金額',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '時間',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='債務';
添加日常收支模塊:
系統中存在添加日常收支功能,通過點擊添加日常收支可以跳轉到該功能模塊,在該功能模塊中,填寫對應的日常收支信息。日常收支包含信息工資收入,其他收入,生活開支,其他開支,填寫完所有信息后,通過post方法將數據提交到tianjiarichangshouzhi.action中,該地址將在服務器中richangshouzhiController類中的tianjiarichangshouzhiact方法中進行響應。響應結果為,獲取所有的日常收支信息,封裝一個richangshouzhi類,使用richangshouzhiController類中定義的richangshouzhidao的insert方法,將日常收支數據插入到數據庫的richangshouzhi表中。並給出用戶提示信息,添加日常收支成功,將該信息保存到request的message中,該信息將在頁面中進行展示。該部分核心代碼如下:
通過richangshouzhidao的insert方法將頁面傳輸的日常收支添加到數據庫中 richangshouzhidao.insert(richangshouzhi);
將添加日常收支成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加日常收支成功");
返回日常收支管理界面
return "forward:/tianjiarichangshouzhi.action";
查詢日常收支模塊:
在后台中定義日常收支查詢模塊,在側邊欄中點擊日常收支管理,可以跳轉到日常收支管理界面。在該頁面中通過richangshouzhiController中定義richangshouzhiguanli響應日常收支查詢模塊。在richangshouzhiguanli中查詢出所有信息,返回頁面進行循環展示。查詢方法為richangshouzhidao中的selectByexample方法。該部分核心代碼如下:
生成日常收支樣例類,通過example定義查詢條件 RichangshouzhiExample example = new RichangshouzhiExample();
通過richangshouzhidao的selectByExample方法查詢出所有的日常收支信息 List richangshouzhiall = richangshouzhidao.selectByExample(example);
將日常收支信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("richangshouzhiall", richangshouzhiall);
返回日常收支管理界面
return "forward:/richangshouzhiguanli.action";
修改日常收支模塊:
對已經上傳的日常收支信息可以進行修改操作,該部分操作在日常收支管理界面中點擊修改按鈕可以跳轉到日常收支修改頁面。在修改頁面中,將初始化所有的日常收支字段信息,字段信息包括工資收入,其他收入,生活開支,其他開支。字段信息內容通過日常收支id獲取。修改后的信息傳入到richangshouzhiController中接收為richangshouzhi。在richangshouzhiController中包含有提前定義好的richangshouzhidao,該參數為richangshouzhiMapper是實現。richangshouzhiMapper中定義了修改方法,此處使用修改方法為updateByPrimaryKeySelective,該方法可以將修改后信息同步到數據庫中,最終將修改成功信息返回頁面中。該部分代碼如下:
通過richangshouzhidao的修改方法根據id修改對應的日常收支 richangshouzhidao.updateByPrimaryKeySelective(richangshouzhi);
將修改日常收支成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改日常收支信息成功");
返回日常收支管理界面
return "forward:/richangshouzhiguanli.action";
刪除日常收支模塊:
在管理頁面中,點擊刪除。頁面將通過a標簽的href屬性,使用get方法將該日常收支
的id上傳到服務器中,在服務器中通過richangshouzhiController類中的shanchurichangshouzhi進行接收,之后調用richangshouzhiMapper中的deleteByPrimaryKey方法根據ID進行刪除。將刪除信息保存到request的message中,在頁面給出用戶刪除成功的提示信息,該部分核心代碼如下:
通過richangshouzhidao的刪除方法根據id刪除對應的日常收支 richangshouzhidao.deleteByPrimaryKey(id);
將刪除日常收支成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除日常收支成功");
返回日常收支管理界面
return "forward:/richangshouzhiguanli.action";