基于B/S模式下的JAVA车辆调度管理系统

每天记录学习,每天会有好心情。*^_^*

最近了解了车辆调度管理系统项目,在这个平台记录一下这个车辆调度管理系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,车辆调度管理系统为一个 后台项目。这个项目的描述是这样的:传统的数据库应用系统开发通常采用的两层结构 Client/ Server模型 ,存在程序开发量大 ,系统难于维护 ,安全性差和成本高的缺点 ,而现代的多层结构 Browser/ Server模型 ,具有系统易于维护 ,安全性好 ,系统易于伸缩和成本低等优点。本文所提出的车辆调度管理系统 ,就是基于 Browser/ Server模型的结构来实现的 ,在实际应用中 ,充分体现 Browser/ Server模型系统的优越性能。
在对车辆调度管理系统项目进行需求分析的时候,得出系统的登录角色包括了管理员。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出该系统所有数据为:管理员(admin)、车辆(cheliang)、司机(siji)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

车辆表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 车辆id
chepai | VARCHAR(255) | | 车牌
weizhi | VARCHAR(255) | | 位置
siji | VARCHAR(255) | | 司机
lianxifangshi | VARCHAR(255) | | 联系方式

 

司机表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 司机id
mingzi | VARCHAR(255) | | 名字
xingbie | VARCHAR(255) | | 性别
nianling | VARCHAR(255) | | 年龄

 

 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggcheliangdiaodu

-- ----------------------------

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_cheliang`;

CREATE TABLE `t_cheliang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '车辆id',`chepai` VARCHAR(255) DEFAULT NULL COMMENT '车牌',`weizhi` VARCHAR(255) DEFAULT NULL COMMENT '位置',`siji` VARCHAR(255) DEFAULT NULL COMMENT '司机',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='车辆';

-- ----------------------------

DROP TABLE IF EXISTS `t_siji`;

CREATE TABLE `t_siji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '司机id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='司机';

 

 

添加车辆模块:

系统中存在添加车辆功能,通过点击添加车辆可以跳转到该功能模块,在该功能模块中,填写对应的车辆信息。车辆包含信息车牌,位置,司机,联系方式,填写完所有信息后,通过post方法将数据提交到tianjiacheliang.action中,该地址将在服务器中cheliangController类中的tianjiacheliangact方法中进行响应。响应结果为,获取所有的车辆信息,封装一个cheliang类,使用cheliangController类中定义的cheliangdao的insert方法,将车辆数据插入到数据库的cheliang表中。并给出用户提示信息,添加车辆成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过cheliangdao的insert方法将页面传输的车辆添加到数据库中 cheliangdao.insert(cheliang);

将添加车辆成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加车辆成功");

返回车辆管理界面

return "forward:/tianjiacheliang.action";

查询车辆模块:

在浏览器中进入车辆查询页面时,此时浏览器的地址栏为cheliangguanli.action,该地址将响应cheliangController类中的cheliangguanli,在该方法中,通过selectByexample方法获取所有的车辆信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成车辆样例类,通过example定义查询条件 CheliangExample example = new CheliangExample();

通过cheliangdao的selectByExample方法查询出所有的车辆信息 List cheliangall = cheliangdao.selectByExample(example);

将车辆信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("cheliangall", cheliangall);

返回车辆管理界面

return "forward:/cheliangguanli.action";

修改车辆模块:

对已经上传的车辆信息可以进行修改操作,该部分操作在车辆管理界面中点击修改按钮可以跳转到车辆修改页面。在修改页面中,将初始化所有的车辆字段信息,字段信息包括车牌,位置,司机,联系方式。字段信息内容通过车辆id获取。修改后的信息传入到cheliangController中接收为cheliang。在cheliangController中包含有提前定义好的cheliangdao,该参数为cheliangMapper是实现。cheliangMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过cheliangdao的修改方法根据id修改对应的车辆 cheliangdao.updateByPrimaryKeySelective(cheliang);

将修改车辆成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改车辆信息成功");

返回车辆管理界面

return "forward:/cheliangguanli.action";

删除车辆模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该车辆

的id上传到服务器中,在服务器中通过cheliangController类中的shanchucheliang进行接收,之后调用cheliangMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过cheliangdao的删除方法根据id删除对应的车辆 cheliangdao.deleteByPrimaryKey(id);

将删除车辆成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除车辆成功");

返回车辆管理界面

return "forward:/cheliangguanli.action";

posted @ 2019-09-24 20:38  龙骑士编程  阅读(1249)  评论(0编辑  收藏  举报