每天记录学习,每天会有好心情。*^_^*
今日思考,完成一个基于SSM的车辆租赁管理系统项目,需要实现哪些功能?
此类项目常见描述如下:
采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
SSM(MYECLIPSE)框架及其适合基于SSM的车辆租赁管理系统,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对基于SSM的车辆租赁管理系统系统的仔细分析,可以得出基于SSM的车辆租赁管理系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、客户、司机。
系统中客户、司机、订单之间具有较强的联系性。他们之间的关系为订单的客户与客户的mingzi字段对应、订单的客户id与客户的id字段对应、订单的司机与司机的mingzi字段对应、订单的司机id与司机的id字段对应
。在订单表中可以体现出这种关系。
总结得出基于SSM的车辆租赁管理系统项目所有数据为:管理员(admin)、客户(kehu)、司机(siji)、订单(dingdan)
基于SSM的车辆租赁管理系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于SSM的车辆租赁管理系统之客户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 客户id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 yue | VARCHAR(255) | | 余额 xinyong | VARCHAR(255) | | 信用
基于SSM的车辆租赁管理系统之司机表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 司机id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 nianling | VARCHAR(255) | | 年龄 lianxifangshi | VARCHAR(255) | | 联系方式
基于SSM的车辆租赁管理系统之订单表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 订单id kehu | VARCHAR(255) | | 客户 kehuid | VARCHAR(255) | | 客户id siji | VARCHAR(255) | | 司机 sijiid | VARCHAR(255) | | 司机id qidian | VARCHAR(255) | | 起点 zhongdian | VARCHAR(255) | | 终点 zhuangtai | VARCHAR(255) | | 状态
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjySSMdclzlglxt -- ---------------------------- 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_kehu`; CREATE TABLE `t_kehu` (`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 '密码',`yue` VARCHAR(255) DEFAULT NULL COMMENT '余额',`xinyong` 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 '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`nianling` 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_dingdan`; CREATE TABLE `t_dingdan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '订单id',`kehu` VARCHAR(255) DEFAULT NULL COMMENT '客户',`kehuid` INT(11) DEFAULT NULL COMMENT '客户id',`siji` VARCHAR(255) DEFAULT NULL COMMENT '司机',`sijiid` INT(11) DEFAULT NULL COMMENT '司机id',`qidian` VARCHAR(255) DEFAULT NULL COMMENT '起点',`zhongdian` VARCHAR(255) DEFAULT NULL COMMENT '终点',`zhuangtai` VARCHAR(255) DEFAULT NULL COMMENT '状态',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单';
添加司机模块:
从页面中通过post方法,将司机信息传入到后台服务器中,在tianjiasijiact
中接收,字段包括名字,账号,密码,年龄,联系方式使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加司机成功,并保存到request中具体代码如下:
通过sijidao的insert方法将页面传输的司机添加到数据库中 sijidao.insert(siji);
将添加司机成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加司机成功");
返回司机管理界面
return "forward:/tianjiasiji.action";
查询司机模块:
司机的查询模块实现方式为,在页面中发起sijiguanli.action请求。通过该请求,响应服务器sijiController类中的sijiguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的司机信息查询后,保存到request中的sijiall中,在页面中进行展示,返回sijiguanli.jsp,该部分核心代码如下所示:
生成司机样例类,通过example定义查询条件 SijiExample example = new SijiExample();
通过sijidao的selectByExample方法查询出所有的司机信息 List sijiall = sijidao.selectByExample(example);
将司机信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("sijiall", sijiall);
返回司机管理界面
return "forward:/sijiguanli.action";
修改司机模块:
点击修改按钮,可以跳转到司机修改页面。在司机修改页面中,将初始化该司机的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完司机信息后,页面通过post方法将数据封装为一个司机实体,传入到sijiController中。在xiugaisiji中进行接收,接收完毕后,调用sijiMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过sijidao的修改方法根据id修改对应的司机 sijidao.updateByPrimaryKeySelective(siji);
将修改司机成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改司机信息成功");
返回司机管理界面
return "forward:/sijiguanli.action";
删除司机模块:
删除司机功能的实现方式为,通过点击删除司机按钮,向服务器发起get请求。请求中包含司机的id信息,在sijiController中使用int接受该id,并将该id传入sijidao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应司机。最后将删除司机成功的信息返回页面,该部分核心代码如下:
通过sijidao的删除方法根据id删除对应的司机 sijidao.deleteByPrimaryKey(id);
将删除司机成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除司机成功");
返回司机管理界面
return "forward:/sijiguanli.action";