每天记录学习,每天会有好心情。*^_^*
今天记录的项目是商场管理系统,这个项目是这么回事:随着人们对手机的需求日益增多,手机卖场的规模也随之扩大。众多手机卖场为了能够高效的运作,获得更大的收益,逐步将管理同步化,信息化。利用手机其本身所拥有的串号唯一性特点来达到对每一部手机从采购到销售进行跟踪管理的目的。根据以上思路,本手机卖场管理系统应运而生。 本系统基于B/S模式结构,采用Java Web技术遵循J2EE架构进行开发。为了满足企业级管理要求,我们选择使用微软SQLServer2008作为本系统数据库。为了达到精细化管理的目标,系统中商品库存的数据库设计也区别于一般商品。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
商场管理系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。商场管理系统拥有的登录角色包括了管理员、商户。
每个账号设置身份、账号、密码是必不可少的,管理员、商户中都包含这些登录角色该有的字段。
总结得出该系统所有数据为:管理员(admin)、商户(shanghu)、商品(shangping)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
商户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 商户id puming | VARCHAR(255) | | 铺名 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 jieshao | VARCHAR(255) | | 介绍
商品表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 商品id biaoti | VARCHAR(255) | | 标题 neirong | VARCHAR(255) | | 内容 jianshu | VARCHAR(255) | | 件数 jiage | VARCHAR(255) | | 价格
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggshangchangguanli -- ---------------------------- 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_shanghu`; CREATE TABLE `t_shanghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '商户id',`puming` VARCHAR(255) DEFAULT NULL COMMENT '铺名',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='商户'; -- ---------------------------- DROP TABLE IF EXISTS `t_shangping`; CREATE TABLE `t_shangping` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`jianshu` VARCHAR(255) DEFAULT NULL COMMENT '件数',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='商品';
添加商品模块:
通过添加商品模块,可以完成商品的添加操作。在页面中跳转到添加商品页面,输入商品的所有信息,点击添加操作,可以将商品数据以post提交到shangpingController中。商品所包含的字段信息包括标题,内容,件数,价格。在shangpingController中通过定义shangping接受所有的商品参数。使用shangpingdao的insert方法将shangping实体插入到数据库中。完成数据的添加操作,在shangpingMapper中匹配对应的shangpingxml完成插入sql语句的执行操作。该部分核心代码如下:
通过shangpingdao的insert方法将页面传输的商品添加到数据库中 shangpingdao.insert(shangping);
将添加商品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加商品成功");
返回商品管理界面
return "forward:/tianjiashangping.action";
查询商品模块:
在后台shangpingguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成商品查询操作。具体代码如下:
生成商品样例类,通过example定义查询条件 ShangpingExample example = new ShangpingExample();
通过shangpingdao的selectByExample方法查询出所有的商品信息 List shangpingall = shangpingdao.selectByExample(example);
将商品信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shangpingall", shangpingall);
返回商品管理界面
return "forward:/shangpingguanli.action";
修改商品模块:
在页面完成商品的修改信息填写后,将该部分数据传入xiugaishangping.action地址,并通过post进行提交。提交后在shangpingController中通过xiugaishangping进行接收,将所有字段封装为一个商品实体。并将该实体传入shangpingdao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过商品id更新其余商品的字段,该部分字段包括标题,内容,件数,价格,该部分核心代码如下所示:
通过shangpingdao的修改方法根据id修改对应的商品 shangpingdao.updateByPrimaryKeySelective(shangping);
将修改商品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改商品信息成功");
返回商品管理界面
return "forward:/shangpingguanli.action";
删除商品模块:
删除商品功能的实现方式为,通过点击删除商品按钮,向服务器发起get请求。请求中包含商品的id信息,在shangpingController中使用int接受该id,并将该id传入shangpingdao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应商品。最后将删除商品成功的信息返回页面,该部分核心代码如下:
通过shangpingdao的删除方法根据id删除对应的商品 shangpingdao.deleteByPrimaryKey(id);
将删除商品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除商品成功");
返回商品管理界面
return "forward:/shangpingguanli.action";