基于B/S模式下的JAVA网络陶瓷城网站

今天记录的项目是网络陶瓷城,这个项目是这么回事:陶瓷是以天然粘土以及各种天然矿物为主要原料经过粉碎混炼、成型和煅烧制得的材料的各种制品。以前人们把用陶土制作成的在专门的窑炉中高温烧制的物品称作陶瓷,陶瓷是陶器和瓷器的总称。陶瓷的传统概念是指所有以粘土等无机非金属矿物为原料的人工工业产品。它包括由粘土或含有粘土的混合物经混炼,成形,煅烧而制成的各种制品。由最粗糙的土器到最精细的精陶和瓷器都属于它的范围。对于它的主要原料是取之于自然界的硅酸盐矿物(如粘土、石英等),因此与玻璃、水泥、搪瓷、耐火材料等工业,同属于“硅酸盐工业”的范畴。陶瓷的主要产区为彭城镇、景德镇、醴陵、高安、丰城、萍乡、黎川、佛山、潮州、德化、淄博、唐山、北流等地。此外景德镇是我国“瓷都”之一。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
网络陶瓷城项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。网络陶瓷城拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。

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

管理员表

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

 

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
zhiwu | VARCHAR(255) | | 职务
quanxian | VARCHAR(255) | | 权限
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

商品表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 商品id
mingchenbg | VARCHAR(255) | | 名称
jiage | VARCHAR(255) | | 价格
zhonglei | VARCHAR(255) | | 种类
leixing | VARCHAR(255) | | 类型

 

订单表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 订单id
shouhuoren | VARCHAR(255) | | 收货人
dizhi | VARCHAR(255) | | 地址
lianxifangshi | VARCHAR(255) | | 联系方式
mingcheng | VARCHAR(255) | | 名称
shuliang | VARCHAR(255) | | 数量
jiage | VARCHAR(255) | | 价格
zhonglei | VARCHAR(255) | | 种类
leixing | VARCHAR(255) | | 类型

 

 

SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggwangluotcc

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

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',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`quanxian` 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_shangpin`;

CREATE TABLE `t_shangpin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',`mingchenbg` VARCHAR(255) DEFAULT NULL COMMENT '名称',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',`leixing` 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',`shouhuoren` VARCHAR(255) DEFAULT NULL COMMENT '收货人',`dizhi` VARCHAR(255) DEFAULT NULL COMMENT '地址',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',PRIMARY KEY (`id`)

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

 

 

添加订单模块:

系统中存在添加订单功能,通过点击添加订单可以跳转到该功能模块,在该功能模块中,填写对应的订单信息。订单包含信息收货人,地址,联系方式,名称,数量,价格,种类,类型,填写完所有信息后,通过post方法将数据提交到tianjiadingdan.action中,该地址将在服务器中dingdanController类中的tianjiadingdanact方法中进行响应。响应结果为,获取所有的订单信息,封装一个dingdan类,使用dingdanController类中定义的dingdandao的insert方法,将订单数据插入到数据库的dingdan表中。并给出用户提示信息,添加订单成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过dingdandao的insert方法将页面传输的订单添加到数据库中 dingdandao.insert(dingdan);

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

返回订单管理界面

return "forward:/tianjiadingdan.action";

查询订单模块:

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

生成订单样例类,通过example定义查询条件 DingdanExample example = new DingdanExample();

通过dingdandao的selectByExample方法查询出所有的订单信息 List dingdanall = dingdandao.selectByExample(example);

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

返回订单管理界面

return "forward:/dingdanguanli.action";

修改订单模块:

在页面完成订单的修改信息填写后,将该部分数据传入xiugaidingdan.action地址,并通过post进行提交。提交后在dingdanController中通过xiugaidingdan进行接收,将所有字段封装为一个订单实体。并将该实体传入dingdandao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过订单id更新其余订单的字段,该部分字段包括收货人,地址,联系方式,名称,数量,价格,种类,类型,该部分核心代码如下所示:

通过dingdandao的修改方法根据id修改对应的订单 dingdandao.updateByPrimaryKeySelective(dingdan);

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

返回订单管理界面

return "forward:/dingdanguanli.action";

删除订单模块:

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

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

通过dingdandao的删除方法根据id删除对应的订单 dingdandao.deleteByPrimaryKey(id);

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

返回订单管理界面

return "forward:/dingdanguanli.action";

posted @ 2019-09-26 19:30  龙骑士编程  阅读(219)  评论(0编辑  收藏  举报