web库存商品信息管理系统
每天记录学习,每天会有好心情。*^_^*
今日思考,完成一个基于web的库存商品信息管理系统项目,需要实现哪些功能?
此类项目常见描述如下:
库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。它是一种相关的、动态的及真实的库存控制系统。同时,用户还可以方便地得到整理后的各种报表,包括仓库信息的报表、入库清单、出库清单和库存信息报表。
SSM(MYECLIPSE)框架及其适合基于web的库存商品信息管理系统,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对基于web的库存商品信息管理系统系统的仔细分析,可以得出基于web的库存商品信息管理系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
出库联系了名字,通过关联使得名字之间建立了联系,加强了系统的实用性和便捷性。增强了用户体验。他们之间的关联关系是出库的名字与名字的id字段对应、出库的名字与名字的mingzi字段对应
。
总结得出基于web的库存商品信息管理系统项目所有数据为:管理员(admin)、名字(mingzi)、用户(yonghu)、出库(chuku)、入库(ruku)
基于web的库存商品信息管理系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的库存商品信息管理系统之名字表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 名字id shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 mingzi | VARCHAR(255) | | 名字
基于web的库存商品信息管理系统之用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 xingming | VARCHAR(255) | | 姓名
基于web的库存商品信息管理系统之出库表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 出库id mingzi | VARCHAR(255) | | 名字 shuliang | VARCHAR(255) | | 数量 mingzi | VARCHAR(255) | | 名字
基于web的库存商品信息管理系统之入库表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 入库id mingzi | VARCHAR(255) | | 名字 shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 leixing | VARCHAR(255) | | 类型
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdccspxxglxt -- ---------------------------- 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_mingzi`; CREATE TABLE `t_mingzi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '名字id',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`mingzi` 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',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_chuku`; CREATE TABLE `t_chuku` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '出库id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='出库'; -- ---------------------------- DROP TABLE IF EXISTS `t_ruku`; CREATE TABLE `t_ruku` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '入库id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='入库';
添加名字模块:
系统中存在添加名字功能,通过点击添加名字可以跳转到该功能模块,在该功能模块中,填写对应的名字信息。名字包含信息数量,价格,名字,填写完所有信息后,通过post方法将数据提交到tianjiamingzi.action中,该地址将在服务器中mingziController类中的tianjiamingziact方法中进行响应。响应结果为,获取所有的名字信息,封装一个mingzi类,使用mingziController类中定义的mingzidao的insert方法,将名字数据插入到数据库的mingzi表中。并给出用户提示信息,添加名字成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过mingzidao的insert方法将页面传输的名字添加到数据库中 mingzidao.insert(mingzi);
将添加名字成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加名字成功");
返回名字管理界面
return "forward:/tianjiamingzi.action";
查询名字模块:
名字的查询模块实现方式为,在页面中发起mingziguanli.action请求。通过该请求,响应服务器mingziController类中的mingziguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的名字信息查询后,保存到request中的mingziall中,在页面中进行展示,返回mingziguanli.jsp,该部分核心代码如下所示:
生成名字样例类,通过example定义查询条件 MingziExample example = new MingziExample();
通过mingzidao的selectByExample方法查询出所有的名字信息 List mingziall = mingzidao.selectByExample(example);
将名字信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("mingziall", mingziall);
返回名字管理界面
return "forward:/mingziguanli.action";
修改名字模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaimingzi中,封装为一个名字
,使用update方法修改该名字信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改名字成功,并保存到request中具体代码如下:
通过mingzidao的修改方法根据id修改对应的名字 mingzidao.updateByPrimaryKeySelective(mingzi);
将修改名字成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改名字信息成功");
返回名字管理界面
return "forward:/mingziguanli.action";
删除名字模块:
在页面中通过a标签,shanchumingzi?id=将id传入到后台中,通过shanchumingzi接收名字id。使用deleteByid的方法
删除该名字,完成删除操作。定义删除成功提示信息,删除名字成功,并保存到request中,该部分代码如下:
通过mingzidao的删除方法根据id删除对应的名字 mingzidao.deleteByPrimaryKey(id);
将删除名字成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除名字成功");
返回名字管理界面
return "forward:/mingziguanli.action";