每天记录学习,每天会有好心情。*^_^*

今日思考,完成一个基于web的医药网站的设计与实现项目,需要实现哪些功能?
采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
SSM(MYECLIPSE)框架及其适合基于web的医药网站的设计与实现,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对基于web的医药网站的设计与实现系统的仔细分析,可以得出基于web的医药网站的设计与实现系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
在系统的功能中,订单是一个重要的表。这个表使得药品、用户关联了起来。在订单表中订单的药品与药品的leixing字段对应、订单的药品id与药品的id字段对应、订单的用户与用户的xingming字段对应、订单的用户id与用户的id字段对应
,他们拥有关联关系。

总结得出基于web的医药网站的设计与实现项目所有数据为:管理员(admin)、用户(yonghu)、库存(kucun)、药品(yaopin)、订单(dingdan)

基于web的医药网站的设计与实现之管理员表

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

基于web的医药网站的设计与实现之用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
xingbie | VARCHAR(255) | | 性别
dingdan | VARCHAR(255) | | 订单
xingming | VARCHAR(255) | | 姓名

基于web的医药网站的设计与实现之库存表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 库存id
mingzi | VARCHAR(255) | | 名字
leixing | VARCHAR(255) | | 类型
jiage | VARCHAR(255) | | 价格

基于web的医药网站的设计与实现之药品表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 药品id
leixing | VARCHAR(255) | | 类型
jiage | VARCHAR(255) | | 价格
mingzi | VARCHAR(255) | | 名字

基于web的医药网站的设计与实现之订单表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 订单id
yaopin | VARCHAR(255) | | 药品
yaopinid | VARCHAR(255) | | 药品id
yonghu | VARCHAR(255) | | 用户
yonghuid | VARCHAR(255) | | 用户id
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggjywebdyywzdsjysx

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

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',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`dingdan` 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_kucun`;

CREATE TABLE `t_kucun` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '库存id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='库存';

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

DROP TABLE IF EXISTS `t_yaopin`;

CREATE TABLE `t_yaopin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '药品id',`leixing` 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_dingdan`;

CREATE TABLE `t_dingdan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '订单id',`yaopin` VARCHAR(255) DEFAULT NULL COMMENT '药品',`yaopinid` INT(11) DEFAULT NULL COMMENT '药品id',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用户',`yonghuid` INT(11) DEFAULT NULL COMMENT '用户id',PRIMARY KEY (`id`)

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

添加药品模块:

通过添加药品模块,可以完成药品的添加操作。在页面中跳转到添加药品页面,输入药品的所有信息,点击添加操作,可以将药品数据以post提交到yaopinController中。药品所包含的字段信息包括类型,价格,名字。在yaopinController中通过定义yaopin接受所有的药品参数。使用yaopindao的insert方法将yaopin实体插入到数据库中。完成数据的添加操作,在yaopinMapper中匹配对应的yaopinxml完成插入sql语句的执行操作。该部分核心代码如下:

通过yaopindao的insert方法将页面传输的药品添加到数据库中 yaopindao.insert(yaopin);

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

返回药品管理界面

return "forward:/tianjiayaopin.action";

查询药品模块:

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

生成药品样例类,通过example定义查询条件 YaopinExample example = new YaopinExample();

通过yaopindao的selectByExample方法查询出所有的药品信息 List yaopinall = yaopindao.selectByExample(example);

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

返回药品管理界面

return "forward:/yaopinguanli.action";

修改药品模块:

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

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

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

通过yaopindao的修改方法根据id修改对应的药品 yaopindao.updateByPrimaryKeySelective(yaopin);

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

返回药品管理界面

return "forward:/yaopinguanli.action";

删除药品模块:

删除药品功能的实现方式为,通过点击删除药品按钮,向服务器发起get请求。请求中包含药品的id信息,在yaopinController中使用int接受该id,并将该id传入yaopindao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应药品。最后将删除药品成功的信息返回页面,该部分核心代码如下:

通过yaopindao的删除方法根据id删除对应的药品 yaopindao.deleteByPrimaryKey(id);

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

返回药品管理界面

return "forward:/yaopinguanli.action";

源码下载

01-25 22:28