最近了解了二手交易系统项目,在这个平台记录一下这个二手交易系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,二手交易系统为一个 后台项目。这个项目的描述是这样的:随着科学技术的发展,网上购物成为时尚,网上购物方便、快捷、实用,成为我们生活之必须,针对我院目前毕业生大量学习及生活用品不方便携带,在校园内私设摊点又影响学院卫生,有些同学甚至随意将东西丢弃,加重了学院卫生方面的管理,不方便携带的大量学习及生活用品,丢弃又是一个损失,同时,学院在毕业生毕业这段时间的环境卫生也成了学院一个很棘手的问题,学生身边缺少一个交易的平台,为进一步规范学院管理、美化校园环境,开发了该二手交易系统,对二手用品交易来说,大量的用品信息、学生信息、用品种类等难于通过传统的方法进行管理。
在对二手交易系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
为了完成系统的功能需要为二手物品设置订单表,记录订单信息。在订单表中定义了两者的关联关系,其中订单的名字与二手物品的mingzi字段对应。

总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、二手物品(ershouwupin)、订单(dingdan)

管理员表

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

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xibngming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
lianxifangshi | VARCHAR(255) | | 联系方式
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

二手物品表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 二手物品id
mingzi | VARCHAR(255) | | 名字
jiage | VARCHAR(255) | | 价格
shuliang | VARCHAR(255) | | 数量
shangjia | VARCHAR(255) | | 商家
lianxifangshi | VARCHAR(255) | | 联系方式

订单表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 订单id
mingzi | VARCHAR(255) | | 名字
shuliang | VARCHAR(255) | | 数量
dizhi | VARCHAR(255) | | 地址
shouhuoren | VARCHAR(255) | | 收货人
lianxifangshi | VARCHAR(255) | | 联系方式
jiage | VARCHAR(255) | | 价格
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggershoujiaoyixt

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

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 '密码',`quanxian` 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',`xibngming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`lianxifangshi` 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='用户';

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

DROP TABLE IF EXISTS `t_ershouwupin`;

CREATE TABLE `t_ershouwupin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '二手物品id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`shangjia` 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',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`dizhi` VARCHAR(255) DEFAULT NULL COMMENT '地址',`shouhuoren` VARCHAR(255) DEFAULT NULL COMMENT '收货人',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单';

添加二手物品模块:

在ershouwupinController中定义tianjiaershouwupinact接收页面传入的二手物品参数,定义为ershouwupin。其中ershouwupin包含字段:名字,价格,数量,商家,联系方式,使用tianjiaershouwupinact将该二手物品对象存入数据库中,在ershouwupinMapper中定义了insert方法,匹配数据库中的insert into ershouwupin语句实现将二手物品数据存入数据库的操作。该部分核心代码如下:

通过ershouwupindao的insert方法将页面传输的二手物品添加到数据库中 ershouwupindao.insert(ershouwupin);

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

返回二手物品管理界面

return "forward:/tianjiaershouwupin.action";

查询二手物品模块:

二手物品的查询模块实现方式为,在页面中发起ershouwupinguanli.action请求。通过该请求,响应服务器ershouwupinController类中的ershouwupinguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的二手物品信息查询后,保存到request中的ershouwupinall中,在页面中进行展示,返回ershouwupinguanli.jsp,该部分核心代码如下所示:

生成二手物品样例类,通过example定义查询条件 ErshouwupinExample example = new ErshouwupinExample();

通过ershouwupindao的selectByExample方法查询出所有的二手物品信息 List ershouwupinall = ershouwupindao.selectByExample(example);

将二手物品信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("ershouwupinall", ershouwupinall);

返回二手物品管理界面

return "forward:/ershouwupinguanli.action";

修改二手物品模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaiershouwupin中,封装为一个二手物品

,使用update方法修改该二手物品信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改二手物品成功,并保存到request中具体代码如下:

通过ershouwupindao的修改方法根据id修改对应的二手物品 ershouwupindao.updateByPrimaryKeySelective(ershouwupin);

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

返回二手物品管理界面

return "forward:/ershouwupinguanli.action";

删除二手物品模块:

删除二手物品功能实现在ershouwupinController中,实现方法为shanchuershouwupin。在页面中通过get方法shanchuershouwupin.action?Id的形式将需要删除的二手物品id上传到服务器中,响应对应的方法,调用ershouwupindao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过ershouwupindao的删除方法根据id删除对应的二手物品 ershouwupindao.deleteByPrimaryKey(id);

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

返回二手物品管理界面

return "forward:/ershouwupinguanli.action";

01-20 05:56