每天記錄學習,每天會有好心情。*^_^*
在學習民航售票管理系統項目的時候,方便日后能及時查閱,在本平台中記錄一下該項目的開發流程。在學習時候的選用了SSM(MYECLIPSE),這個框架不論是學習還是使用都非常方便,簡單易上手。是我們學習編程可以重點學習的一個框架,我在開發民航售票管理系統項目的時候選用了MYECLIPSE來搭建SSM(MYECLIPSE)框架,最終將民航售票管理系統項目開發為了一個 后台項目。
該項目具有的用戶角色包括了管理員、用戶,每個角色都含有自己的登錄賬號和密碼。
訂單聯系了機票、用戶,通過關聯使得機票、用戶之間建立了聯系,加強了系統的實用性和便捷性。增強了用戶體驗。他們之間的關聯關系是訂單的起點與機票的qidian字段對應、訂單的終點與機票的zhongdian字段對應、訂單的機票id與機票的id字段對應、訂單的用戶與用戶的nicheng字段對應、訂單的用戶id與用戶的id字段對應。
總結得出該系統所有數據為:管理員(admin)、機票(jipiao)、用戶(yonghu)、訂單(dingdan)
管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
機票表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 機票id qidian | VARCHAR(255) | | 起點 zhongdian | VARCHAR(255) | | 終點 shijian | VARCHAR(255) | | 時間 hangkonggongsi | VARCHAR(255) | | 航空公司
用戶表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 用戶id nicheng | VARCHAR(255) | | 昵稱 username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼 yue | VARCHAR(255) | | 余額
訂單表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 訂單id qidian | VARCHAR(255) | | 起點 zhongdian | VARCHAR(255) | | 終點 jibiaoid | VARCHAR(255) | | 機票id yonghu | VARCHAR(255) | | 用戶 yonghuid | VARCHAR(255) | | 用戶id
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggwangshangjiaoyi -- ---------------------------- 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_jipiao`; CREATE TABLE `t_jipiao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '機票id',`qidian` VARCHAR(255) DEFAULT NULL COMMENT '起點',`zhongdian` VARCHAR(255) DEFAULT NULL COMMENT '終點',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '時間',`hangkonggongsi` 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',`nicheng` VARCHAR(255) DEFAULT NULL COMMENT '昵稱',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',`yue` VARCHAR(255) DEFAULT NULL COMMENT '余額',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用戶'; -- ---------------------------- DROP TABLE IF EXISTS `t_dingdan`; CREATE TABLE `t_dingdan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '訂單id',`qidian` VARCHAR(255) DEFAULT NULL COMMENT '起點',`zhongdian` VARCHAR(255) DEFAULT NULL COMMENT '終點',`jibiaoid` INT(11) DEFAULT NULL COMMENT '機票id',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用戶',`yonghuid` INT(11) DEFAULT NULL COMMENT '用戶id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='訂單';
添加機票模塊:
通過添加機票模塊,可以完成機票的添加操作。在頁面中跳轉到添加機票頁面,輸入機票的所有信息,點擊添加操作,可以將機票數據以post提交到jipiaoController中。機票所包含的字段信息包括起點,終點,時間,航空公司。在jipiaoController中通過定義jipiao接受所有的機票參數。使用jipiaodao的insert方法將jipiao實體插入到數據庫中。完成數據的添加操作,在jipiaoMapper中匹配對應的jipiaoxml完成插入sql語句的執行操作。該部分核心代碼如下:
通過jipiaodao的insert方法將頁面傳輸的機票添加到數據庫中 jipiaodao.insert(jipiao);
將添加機票成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加機票成功");
返回機票管理界面
return "forward:/tianjiajipiao.action";
查詢機票模塊:
機票的查詢模塊實現方式為,在頁面中發起jipiaoguanli.action請求。通過該請求,響應服務器jipiaoController類中的jipiaoguanli,在該方法中通過selectByexample進行數據的查詢操作。將所有的機票信息查詢后,保存到request中的jipiaoall中,在頁面中進行展示,返回jipiaoguanli.jsp,該部分核心代碼如下所示:
生成機票樣例類,通過example定義查詢條件 JipiaoExample example = new JipiaoExample();
通過jipiaodao的selectByExample方法查詢出所有的機票信息 List jipiaoall = jipiaodao.selectByExample(example);
將機票信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("jipiaoall", jipiaoall);
返回機票管理界面
return "forward:/jipiaoguanli.action";
修改機票模塊:
對已經上傳的機票信息可以進行修改操作,該部分操作在機票管理界面中點擊修改按鈕可以跳轉到機票修改頁面。在修改頁面中,將初始化所有的機票字段信息,字段信息包括起點,終點,時間,航空公司。字段信息內容通過機票id獲取。修改后的信息傳入到jipiaoController中接收為jipiao。在jipiaoController中包含有提前定義好的jipiaodao,該參數為jipiaoMapper是實現。jipiaoMapper中定義了修改方法,此處使用修改方法為updateByPrimaryKeySelective,該方法可以將修改后信息同步到數據庫中,最終將修改成功信息返回頁面中。該部分代碼如下:
通過jipiaodao的修改方法根據id修改對應的機票 jipiaodao.updateByPrimaryKeySelective(jipiao);
將修改機票成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改機票信息成功");
返回機票管理界面
return "forward:/jipiaoguanli.action";
刪除機票模塊:
刪除機票功能實現在jipiaoController中,實現方法為shanchujipiao。在頁面中通過get方法shanchujipiao.action?Id的形式將需要刪除的機票id上傳到服務器中,響應對應的方法,調用jipiaodao中的deleteByPrimaryKey方法,完成刪除操作。將刪除成功的提示信息返回到頁面中,完成刪除數據的操作。該部分核心代碼:
通過jipiaodao的刪除方法根據id刪除對應的機票 jipiaodao.deleteByPrimaryKey(id);
將刪除機票成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除機票成功");
返回機票管理界面
return "forward:/jipiaoguanli.action";