基于struts与hibernate框架的医药管理系统内容摘要:

┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 系统流程图 医药管理系统流程图如图。 医药管理系统 添加药品 查询药品 修改药品 类别统计 查询进货 删除药品 添加类别 查询类别 修改类别 删除类别 删除需求 修改需求 基本信息管理 系统初始化 库存修改 查询销售明细 当日明细统计 销售排行统计 添加管理员 查询管理员 密码修改 药品信息管理 药品类别管理 添加需求 进货需求管理 药品销售管理 系统管理 管理员登陆 管理员 共 31 页 第 10 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 图 逻辑分层结构设计 医药管理系统由 4层结构组成,并遵循 MVC结构进行设计。 4层结构分别为表示层、业务逻辑层、持久层与数据库层,如图。 图 其中表示层与业务逻辑层均由 Struts框架组成,表示层用于提供程序与用户之间交互的界面,项目主要通过 JSP、 ActionForm及 Struts标签库进行展现;业务逻辑层用于处理程序中得各种业务逻辑,项目中通过 Struts框架的中央控制器及 Action对象对业务请求进行处理;持久层有 Hibernate框架组成,它负责应用程序与关系型数据库之间的操作;数据库层为应用程序所使用的数据库。 对于 4层结构的具体实现如图。 图 医药管理系统 数据库层 (MySQL 数据库 ) 持久层 (Hibernate 框架 ) 业务逻 辑层 (Struts 框架 ) 表示层 (Struts 框架 ) 医药管理系统 持久化 控制器 视图 MySQL 数据库 共 31 页 第 11 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 系统预览 系统登陆页面如图 ,该页面为系统的入口,只有输入正确的用户名与密码才能进入系统。 图 如图 ,它可以在众多的药品中找到符合要求的药品信息。 图 共 31 页 第 12 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 药品的种类也是管理上的重要参数,如图 ,该页面可以根据现有药品的名称统计其种类中得比例。 管理系统中的所有药品页面用于查看当前库存中得药品名称与库存数量,如图。 在该页面中,还可以对药品信息惊醒修改和药品的购进。 图 图 共 31 页 第 13 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 第五章 数据库设计 数据库分析 为防止数据访问量增加使系统资源不足而导致的系统崩溃 ,医药管理系统的数据库采用了独立的 MySQL数据服务器 ,将数据库独立放在一个服务器中。 这样即使服务器崩溃了,数据库服务器也不会受到影响;另外一个好处就是能够更快、更好地处理更多的数据。 数据库概念设计 物品实体对象 物品实体包括药品编号、名称药品编码、出厂地址、描述等属性。 药品编号是识别不用药品的唯一编号,其数据类型是 int,并且是数据库自增的。 其余的属性都是药品的通用特性,如药品名称、类别、价 格、出厂地址和药品描述等。 药品实体 ER图,如图 ,表结构如图。 图 药品 编号 药品名称 药品编号 出厂地址 描述 价格 类别 时间 图片 需求数量 数量 共 31 页 第 14 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 图 药品类别实体对象 药品类别实体对象对应着药品类别的分类信息,其中包括编号、类别名称、类别描述、类别简短描述、类别创建时间、类别中得药品信息等。 药品类别实体 ER图,如图 ,表结构如 图。 图 Column Name Datatype Length Default Value Comment id int 11 主键 medNo varchar 100 药品编码 Name varchar 200 名称 factoryAdd varchar 200 NULL 出厂地址 Description text 0 NULL 描述信息 Price double 0 单价 medCunt int 11 NULL 库存数量 reqCount int 11 NULL 需求数量 PhotoPath varchar 255 NULL 图片 Categoryld int 11 NULL 所属类型 药品类别 类别名称 类别简短描述 类别编号 类别创建时间 类别中得药品 类别描述 共 31 页 第 15 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ Column Name Datatype Length Default Value Comment Id int 11 主键 Name varchar 100 类别名称 Description Text 0 NULL 描述信息 Creat Time datetime 0 NULL 创建时间 图 销售 明细实体对象 销售明细实体对象用于描述药品在销售时刻的具体情况,如药品名称、价格、数量、销售时间、操作人员等信息。 这些信息十分重要,需要记录到数据库中。 销售明细实体 ER图,如图 ,表结构如图。 图 Column Name Datatype Length Default Value Comment Id int 11 NULL 主键 SellName Varchar(200) 100 药品名称 SellPrice Double 11 销售单价 SellCount Int 0 销售数量 SellTime Datetime 0 销售时间 Medid Int 11 NULL 药品 id Useid Int 11 NULL 用户 id 图 销售明细 编号 药品名称 价格 数量 操作人员 药品 时间 总额 共 31 页 第 16 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 第六章 详细设计 公共类设计 在 Java程序开发中,如果一个功能反复被调用,则可以将这个功能抽取出来封装为一个类作为公共类,在需要此功能的地方通过此类进行实现。 公共类实质 是代码重用的一种方式,在面向对象的开发模式中经常被使用,它可以简化程序中的代码,提高程序的可读性。 系统登录模块设计 系统登录是一个对用户身份进行验证的过程 ,只有登录成功的用户才可以对系统进行操作 ,否则不能对系统进行管理和维护 ,它是系统的一道安全门。 查询用户 创建名位 UserDao的类,封装对用户及系统级数数据的操作。 再此类中编写 login()方法 ,用于根据用户名及密码查询用户对象。 在用户的登录过程中,需要到数据库查看用户对象是否存在,当用户提交登录信息时,调用此方法了返回查询后的 用户对象,如果查询不到将返回 null值。 登录请求 用户登录请求由 LoginAction类进行处理,此类继承了 Action对象,它重写 execute()方法对用户登录请求进行验证。 UserForm对象为用户 ActionForm对象 , Struts自动将 JSP页面表单信息封装在此对象之中 , 所以可以直接获取 ActionForm对象中的属性信息。 LoginAction类通过 UserForm中的用户名及密码属性,调用 UserDao对象中的login()方法对用户信息进。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。