每天记录学习,每天会有好心情。*^_^*
今天记录的项目是校园二手图书拍卖网站,这个项目是这么回事:针对高校二手交易市场中图书交易的诸多不便及由此造成的资源浪费,设计并实现了适合高校学生进行二手图书交易的拍卖平台,设计了3种截然不同的拍卖方式,在减少资源浪费和物主经济损失的同时,也给双方的交易增添了乐趣。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
校园二手图书拍卖网站项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。校园二手图书拍卖网站拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
系统中用户之间存在关联关系,我们将其关联关系保存在图书表中。他们的关联关系是这样的图书的卖家与用户的mingzi字段对应、图书的卖家id与用户的id字段对应。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、图书(tushu)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 xingbie | VARCHAR(255) | | 性别 xueyuan | VARCHAR(255) | | 学院 shouhuodizhi | VARCHAR(255) | | 收货地址
图书表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 图书id mingzi | VARCHAR(255) | | 名字 jiage | VARCHAR(255) | | 价格 chengse | VARCHAR(255) | | 成色 maijia | VARCHAR(255) | | 卖家 maijiaid | VARCHAR(255) | | 卖家id
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggrenshiguanli -- ---------------------------- 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',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`xueyuan` VARCHAR(255) DEFAULT NULL COMMENT '学院',`shouhuodizhi` VARCHAR(255) DEFAULT NULL COMMENT '收货地址',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_tushu`; CREATE TABLE `t_tushu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '图书id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`chengse` VARCHAR(255) DEFAULT NULL COMMENT '成色',`maijia` VARCHAR(255) DEFAULT NULL COMMENT '卖家',`maijiaid` INT(11) DEFAULT NULL COMMENT '卖家id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='图书';
添加图书模块:
系统中存在添加图书功能,通过点击添加图书可以跳转到该功能模块,在该功能模块中,填写对应的图书信息。图书包含信息名字,价格,成色,卖家,卖家id,填写完所有信息后,通过post方法将数据提交到tianjiatushu.action中,该地址将在服务器中tushuController类中的tianjiatushuact方法中进行响应。响应结果为,获取所有的图书信息,封装一个tushu类,使用tushuController类中定义的tushudao的insert方法,将图书数据插入到数据库的tushu表中。并给出用户提示信息,添加图书成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过tushudao的insert方法将页面传输的图书添加到数据库中 tushudao.insert(tushu);
将添加图书成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加图书成功");
返回图书管理界面
return "forward:/tianjiatushu.action";
查询图书模块:
在浏览器中进入图书查询页面时,此时浏览器的地址栏为tushuguanli.action,该地址将响应tushuController类中的tushuguanli,在该方法中,通过selectByexample方法获取所有的图书信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成图书样例类,通过example定义查询条件 TushuExample example = new TushuExample();
通过tushudao的selectByExample方法查询出所有的图书信息 List tushuall = tushudao.selectByExample(example);
将图书信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("tushuall", tushuall);
返回图书管理界面
return "forward:/tushuguanli.action";
修改图书模块:
点击修改按钮,可以跳转到图书修改页面。在图书修改页面中,将初始化该图书的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完图书信息后,页面通过post方法将数据封装为一个图书实体,传入到tushuController中。在xiugaitushu中进行接收,接收完毕后,调用tushuMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过tushudao的修改方法根据id修改对应的图书 tushudao.updateByPrimaryKeySelective(tushu);
将修改图书成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改图书信息成功");
返回图书管理界面
return "forward:/tushuguanli.action";
删除图书模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该图书
的id上传到服务器中,在服务器中通过tushuController类中的shanchutushu进行接收,之后调用tushuMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过tushudao的删除方法根据id删除对应的图书 tushudao.deleteByPrimaryKey(id);
将删除图书成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除图书成功");
返回图书管理界面
return "forward:/tushuguanli.action"