每天记录学习,每天会有好心情。*^_^*
在学习网上投票系统项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发网上投票系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将网上投票系统项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、用户,每个角色都含有自己的登录账号和密码。
总结得出该系统所有数据为:管理员(admin)、投票(toupiao)、用户(yonghu)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
投票表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 投票id biaoti | VARCHAR(255) | | 标题 neirong | VARCHAR(255) | | 内容 xuanxianga | VARCHAR(255) | | 选项A xuanxiangb | VARCHAR(255) | | 选项B xuanxiangc | VARCHAR(255) | | 选项C xuanxiangd | VARCHAR(255) | | 选项D xuanxiangacs | VARCHAR(255) | | 选项A次数 xuanxiangbcs | VARCHAR(255) | | 选项B次数 xuanxiangccs | VARCHAR(255) | | 选项C次数 xuanxiangdcs | VARCHAR(255) | | 选项D次数
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id nicheng | VARCHAR(255) | | 昵称 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggtoupiaoxitong -- ---------------------------- 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_toupiao`; CREATE TABLE `t_toupiao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '投票id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`xuanxianga` VARCHAR(255) DEFAULT NULL COMMENT '选项A',`xuanxiangb` VARCHAR(255) DEFAULT NULL COMMENT '选项B',`xuanxiangc` VARCHAR(255) DEFAULT NULL COMMENT '选项C',`xuanxiangd` VARCHAR(255) DEFAULT NULL COMMENT '选项D',`xuanxiangacs` VARCHAR(255) DEFAULT NULL COMMENT '选项A次数',`xuanxiangbcs` VARCHAR(255) DEFAULT NULL COMMENT '选项B次数',`xuanxiangccs` VARCHAR(255) DEFAULT NULL COMMENT '选项C次数',`xuanxiangdcs` VARCHAR(255) DEFAULT NULL COMMENT '选项D次数',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 '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户';
添加投票模块:
通过添加投票模块,可以完成投票的添加操作。在页面中跳转到添加投票页面,输入投票的所有信息,点击添加操作,可以将投票数据以post提交到toupiaoController中。投票所包含的字段信息包括标题,内容,选项A,选项B,选项C,选项D,选项A次数,选项B次数,选项C次数,选项D次数。在toupiaoController中通过定义toupiao接受所有的投票参数。使用toupiaodao的insert方法将toupiao实体插入到数据库中。完成数据的添加操作,在toupiaoMapper中匹配对应的toupiaoxml完成插入sql语句的执行操作。该部分核心代码如下:
通过toupiaodao的insert方法将页面传输的投票添加到数据库中 toupiaodao.insert(toupiao);
将添加投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加投票成功");
返回投票管理界面
return "forward:/tianjiatoupiao.action";
查询投票模块:
在浏览器中进入投票查询页面时,此时浏览器的地址栏为toupiaoguanli.action,该地址将响应toupiaoController类中的toupiaoguanli,在该方法中,通过selectByexample方法获取所有的投票信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成投票样例类,通过example定义查询条件 ToupiaoExample example = new ToupiaoExample();
通过toupiaodao的selectByExample方法查询出所有的投票信息 List toupiaoall = toupiaodao.selectByExample(example);
将投票信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("toupiaoall", toupiaoall);
返回投票管理界面
return "forward:/toupiaoguanli.action";
修改投票模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaitoupiao中,封装为一个投票
,使用update方法修改该投票信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改投票成功,并保存到request中具体代码如下:
通过toupiaodao的修改方法根据id修改对应的投票 toupiaodao.updateByPrimaryKeySelective(toupiao);
将修改投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改投票信息成功");
返回投票管理界面
return "forward:/toupiaoguanli.action";
删除投票模块:
删除投票功能实现在toupiaoController中,实现方法为shanchutoupiao。在页面中通过get方法shanchutoupiao.action?Id的形式将需要删除的投票id上传到服务器中,响应对应的方法,调用toupiaodao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过toupiaodao的删除方法根据id删除对应的投票 toupiaodao.deleteByPrimaryKey(id);
将删除投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除投票成功");
返回投票管理界面
return "forward:/toupiaoguanli.action";