已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
商场商品销售管理系统商场商品销售管理系统 摘要摘要 随着网络技术在人们生活中的深入 它对人们的生活带来了越来越大的便利 相应人们各个 方面对它的依赖也越来越大 对于现在的社会 人们是不能离开网络了 相应的商场的管理也应该 借助于网络技术 这样要以节约大量的人力 物力资源 更重要的是能够准确 快速的反应整个商 场的进货 销售情况 进而反应商场的需求 让决策者能够做出适应市场 能够获得共更多赢利的 决策 基于这些方面的好外 本系统就运应而生 对于网络的应用 现在主流有 NET 和 JAVA 两 种平台 本系统使用的是 JAVA 平台完成 采用 B S 模式 使用浏览器作客户端 对于 JAVA 平台 又有很多的技术支持 对于本系统具体说是一个 J2EE 项目 其中用使用了开源构架 Struts Hibernate 以组件式开发 用工厂对各个组件进行管理 降低各个组件之间的耦合度 关键词 关键词 J2EE 持久层 DAO 业务逻辑 表现 组件 耦合 工厂 Sales management system for shopping malls AbstractAbstract With the network technology in people s lives in depth it brought people s lives more and more convenience and various aspects of people it has become increasingly dependent on So for now in our society people can not leave the network The appropriate management of shopping malls should also be through the use of network technology this should save a lot of manpower material resources and more importantly to accurate and rapid response of the stock throughout the shopping mall sales and then respond to the demand for shopping malls so that decision makers able to adapt to the market able to obtain a total of more profitable decision making Based on these good things the system should be on the delivery of Health For network applications there is now mainstream NET and JAVA two platforms the use of the system is completed JAVA platform the use of B S mode and the use of the client browser JAVA platform for a lot of technical support specifically for the system is a J2EE project which uses the open source framework using Struts Hibernate a component based development with the factory management of the various components and lower the various components Coupling between KeyKey words words J2EE perdure service logic discreteness coupling factory 目录目录 摘要 I 关键词 I Abstract I Key words I 绪论 1 本系统研究的意义 1 本系统的目的 内容 要求 1 目的 1 内容 1 要求 1 1 开发环境与技术的介绍 1 1 1 发环境 1 1 1 1 硬件环境 1 1 1 2 软件环境 1 1 1 3 环境配置 1 1 2 所用技术的介绍 2 1 2 1 java 2 1 2 2 Struts 2 1 2 3 Hibernate 3 1 2 4 Jsp 3 1 2 5 Tomcat 4 2 需求分析 4 2 1 可行性分析 4 2 1 1 市场分析 4 2 1 2 政策分析 4 2 1 3 竞争实力分析 4 2 1 4 技术可行性分析 4 2 1 5 时间和资源可行性分析 5 2 1 6 知识产权分析 5 2 2 理解需求 5 3 概要设计 5 3 1 系统总体设计 5 3 1 1 项目需求 5 3 1 2 系统实体 E R 图 5 3 2 模块初步分析 6 3 2 1 商品信息管理模块 6 3 2 2 客户信息管理模块 6 3 2 3 商品进货管理模块 6 3 2 4 商品销售管理模块 6 3 2 5 数据分析模块 6 3 3 业务流程图 6 4 详细设计 7 4 1 数据库设计 7 4 1 1 数据库表结构 7 4 1 2 用 hibernate 实现持久层 9 4 2 DAO 组件设计 12 4 2 1 AdminImpl java 12 4 2 2 GoodsImpl java 13 4 2 3 ProvideImpl java 13 4 2 4 SellImpl java 14 4 2 5 StockImpl java 14 4 2 6 TypeImpl java 15 4 2 7 UserImpl java 15 4 3 业务逻辑组件设计 15 4 3 1 UserServiceImpl java 16 4 3 2 AdminServiceImpl java 16 4 3 3 GoodsServiceImpl java 16 4 3 4 StockServiceImpl java 17 4 3 5 SellServiceImpl java 17 4 3 6 ProvideServiceImpl java 17 4 3 7 TypeServiceImpl java 17 4 4 模块设计 18 4 4 1 管理员管理模块 18 4 4 2 商品信息管理模块 19 4 4 3 会员信息管理模块 20 4 4 4 商品进货管理模块 21 4 4 5 商品销售管理模块 22 4 5 系统架构详细设计 23 4 5 1 系统架构说明 23 4 5 2 DAO 层实现和事务控制 24 4 5 3 使用配置文件解耦 25 4 5 4 使用工厂管理组件 25 4 5 5 实现 Web 层逻辑 28 5 系统测试 28 5 1 举例测试 29 5 1 1 测试管理员登录功能 29 5 2 测试项目 31 5 2 1 单元测试 31 5 2 2 集成测试 32 5 2 3 系统测试 33 绪论绪论 本系统研究的意义本系统研究的意义 本系统是面向超市内部工作人员的 管理整个超市商品的进口与销售信息进行监控 能够方便 地得出某个季度的商品销售情况 反应市场动态 研究它使我们的能够更好地把握市场 了解市场 把握市场规律 进而是我们能够更好地利用市场的自动调节机制 在这商场经济强烈竞争下枪得先 机 本系统的目的 内容 要求本系统的目的 内容 要求 目的目的 管理整个超市商品的进口与销售信息进行监控 能够方便地得出某个季度的商品销售情况 反 应市场动态 本系统能够节约大量人力 物力资源 能够及时反应市场需求动态 也就使超市老板 能够更快速把握市场 获得尽可能多的收益 内容内容 本系统是基于 B S 的一个 JAVAWEB 系统 它是一个商场商品销售管理方面的系统 是面向 内部工作人员而设计的 它能对市场商品的进 销 存进行全面管理 各种操作都会有记录备案 对商品实现完全监控 对各个时期内的商品情况进行统计查询等 要求要求 能够准确地对商品进化 销售 保存等操作进行数据的保存 能够进行对数据的统计与输出 达到所谓的完全跟踪控制 1 1 开发环境与技术的介绍开发环境与技术的介绍 1 11 1 开发环境开发环境 1 1 11 1 1 硬件环境 硬件环境 CPU Inter core 双核 2 0GHz 内存 DDR3 2G 硬盘 希捷 250G 7500 转 1 1 21 1 2 软件环境 软件环境 操作系统 WindowsXP SP3 IDE 环境 MyEclipse 6 0 应用服务器 Tomcat 6 0 数据库 MySQL5 0 JDK jdk6 0 1 1 31 1 3 环境配置 环境配置 JDK 的环境配置 以安装路径 C jdk1 6 0 02 为例说明 我的电脑 属性 高级 环境变量 系统变量中添加以下环境变量 JAVA HOME C jdk1 6 0 02 CLASSPATH C jdk1 6 0 02 lib tools jar C jdk1 6 0 02 lib dt jar C jdk1 6 0 02 bin path C jdk1 6 0 02 bin Tomcat 的环境配置 以安装路径 C Apache Software Foundation Tomcat 6 0 为例进行说明 变量名 CATALINA BASE 变量值 C Apache Software Foundation Tomcat 6 0 变量名 CATALINA HOME 变量值 C Apache Software Foundation Tomcat 6 0 点击确定后在 classpath 中加入 CATALINA HOME common lib servlet api jar 在 path 中加入 CATALINA HOME lib 个人建议从网上下载包含源代码的 Tomecat 包 1 21 2 所用技术的介绍 所用技术的介绍 本系统采用 B S 模式开发及运用 是轻量级 J2EE 应用 因此主要运用的技术是 java 还有传 统 J2EE 应用框架 struts 和 hibernate 以及 javaWeb 的一些技术 JSP HTML XML 等 下面就对 主要的进行介绍 1 2 11 2 1 JavaJava Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言 以下简称 Java 语言 和 Java 平台的总称 Java 是一种简单的 面向对象的 分布式的 解释型的 健壮安全的 结构中立的 可移植的 性能优异 多线程的动态语言 2009 年 04 月 20 日 oracle 甲骨文 收购 sun java 因此并归甲骨文公司 Java 平台由 Java 虚拟机 Java Virtual Machine 和 Java 应用编程接口 Application Programming Interface 简称 API 构成 Java 应用编程接口为 Java 应用提供了一个独立于操 作系统的 标准接口 可分为基本部分和扩展部分 在硬件或操作系统平台上安装一个 Java 平台之 后 Java 应用程序就可运行 现在 Java 平台已经嵌入了几乎所有 的操作系统 这样 Java 程序可 以只编译一次 就可以在各种系统中运行 Java 应用编程接口已经从 1 1x 版发展到 1 2 版 目前 常用的 Java 平台基 于 Java1 4 最近版本为 Java1 7 Java 分为三个体系 JavaSE Java2 Platform Standard Edition java 平台标准版 JavaEE Java 2 Platform Enterprise Edition java 平台企业版 JavaME Java 2 Platform Micro Edition java 平台微型版 本系统属于 JavaEE 体系 1 2 21 2 2 StrutsStruts Struts 是 Apache 软件基金会 ASF 赞助的一个开源项目 它最初是 Jakarta 项目中的一个 子项目 并在 2004 年 3 月成为 ASF 的顶级项目 它通过采用 Java Servlet JSP 技术 实现了基 于 Java EE Web 应用的 Model View Controller MVC 设计模式的应用框架 Web Framework 是 MVC 经典设计模式中的一个经典产品 在 Java EE 的 Web 应用发展的初期 除了使用 Servlet 技术以外 普遍是在 JavaServer Pages JSP 的源代码中 采用 HTML 与 Java 代码混合的方式进行开发 因为这两种方式不可避 免的要把表现与业务逻辑代码混合在一起 都给前期开发与后期维护带来巨大的复杂度 为了摆脱 上述的约束与局限 把业务逻辑代码从表现层中清晰的分离出来 2000 年 Craig McClanahan 采 用了 MVC 的设计模式开发 Struts 后来该框架产品一度被认为是最广泛 最流行 JAVA 的 WEB 应用框架 2006 年 WebWork 与 Struts 这两个优秀的 Java EE Web 框架 Web Framework 的团体 决定合 作共同开发一个新的 整合了 WebWork 与 Struts 优点 并且更加优雅 扩展性更强的框架 命 名为 Struts 2 原 Struts 的 1 x 版本产品称为 Struts 1 本系统使用的仍然是 struts1 在 Struts 中 已经由一个名为 ActionServlet 的 Servlet 充当 控制器 Controller 的角色 根据描述模型 视图 控制器对应关系的 struts config xml 的配置文件 转发视图 View 的 请求 组装响应数据模型 Model 在 MVC 的 模型 Model 部分 经常划分为两个主要子系统 系统的内部数据状态与改变数据状态的逻辑动作 这两个概念子系统分别具体对应 Struts 里 的 ActionForm 与 Action 两个需要继承实现超类 在这里 Struts 可以与各种标准的数据访问 技术结合在一起 包括 Enterprise Java Beans EJB JDBC 与 JNDI 在 Struts 的视图 View 端 除了使用标准的 JavaServer Pages JSP 以外 还提供了大量的标签库使用 同 时也可以与其他表现层组件技术 产品 进行整合 比如 Velocity Templates XSLT 等 通过应 用 Struts 的框架 最终用户可以把大部分的关注点放在自己的业务逻辑 Action 与 映射关系 的配置文件 struts config xml 中 1 2 31 2 3 HibernateHibernate Hibernate 是一个开放源代码的对象关系映射 Object Relection Mapping 框架 它对 JDBC 进行了非常轻量级的对象封装 使得 Java 程序员可以随心所欲的使用对象编程思维 来操纵数据库 Hibernate 可以应用在任何使用 JDBC 的场合 既可以在 Java 的客户端程序使用 也可以在 Servlet JSP 的 Web 应用中使用 最具革命 意义的是 Hibernate 可以在应用 EJB 的 J2EE 架构中 取代 CMP 完成数据持久化的重任 Hibernate 的核心接口一共有 5 个 分别为 Session SessionFactory Transaction Query 和 Configuration 这 5 个核心接口在任何开发中都会用到 通过这些接口 不仅可以对持久化对象 进行存取 还能够进行事务控制 1 2 41 2 4 JspJsp JSP Java Server Pages 是由 Sun Microsystems 公司倡导 许多公司参与一起建立的一种动 态网页技术标准 JSP 技术有点类似 ASP 技术 它是在传统的网页 HTML 文件 htm html 中插 入 Java 程序段 Scriptlet 和 JSP 标记 tag 从而形成 JSP 文件 jsp 用 JSP 开发的 Web 应用是跨平台的 即能在 Linux 下运行 也能在其他操作系统上运行 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets 来封装产生动 态网页的处理 逻辑 网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑 JSP 将网页逻辑与 网页设计和显示分离 支持可重用的 基于组件的设计 使基于 Web 的应用程序的开发变得迅速和 容易 Web 服务器在遇到访问 JSP 网页的请求时 首先执行其中的程序段 然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户 插入的 Java 程序段可以操作数据库 重新定向网页等 以实 现建立动态网页所需要的功能 JSP 与 Java Servlet 一样 是在服务器端执行的 通常返回该客户端的就是一个 HTML 文本 因此客户端只要有浏览器就能浏览 JSP 的 1 0 规范的最后版本是 1999 年 9 月推出的 12 月又推出了 1 1 规范 目前较新的是 JSP1 2 规范 JSP2 0 规范的征求意见稿也已出台 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成 服务器在页面被客户端请求以后对这 些 Java 代码进行处理 然后将生成的 HTML 页面返回给客户端的浏览器 Java Servlet 是 JSP 的 技术基础 而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成 JSP 具备了 Java 技术的简单易用 完全的面向对象 具有平台无关性且安全可靠 主要面向因特网的所有特 点 自 JSP 推出后 众多大公司都支持 JSP 技术的服务器 如 IBM Oracle Bea 公司等 所以 JSP 迅 速成为商业应用的服务器端语言 1 2 51 2 5 TomcatTomcat Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器 目前最新版本是 6 0 18 截止到 2008 08 27 Tomcat 是 Apache 软件基金会 Apache Software Foundation 的 Jakarta 项目中的一个核 心项目 由 Apache Sun 和其他一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最 新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现 Tomcat 5 支持最新的 Servlet 2 4 和 JSP 2 0 规范 因为 Tomcat 技术先进 性能稳定 而且免费 因而深受 Java 爱好者的喜爱并得 到了部分软件开发商的认可 成为目前比较流行的 Web 应用服务器 Tomcat 很受广大程序员的喜欢 因为它运行时占用的系统资源小 扩展性好 支持负载平衡 与邮件服务等开发应用系统常用的功能 而且它还在不断的改进和完善中 任何一个感兴趣的程序 员都可以更改它或在其中加入新的功能 Tomcat 是一个小型的轻量级应用服务器 在中小型系统和并发访问用户不是很多的场合下被 普遍使用 是开发和调试 JSP 程序的首选 对于一个初学者来说 可以这样认为 当在一台机器 上配置好 Apache 服务器 可利用它响应对 HTML 页面的访问请求 实际上 Tomcat 部分是 Apache 服务器的扩展 但它是独立运行的 所以当你运行 tomcat 时 它实际上作为一个与 Apache 独立 的进程单独运行的 这里的诀窍是 当配置正确时 Apache 为 HTML 页面服务 而 Tomcat 实际上运行 JSP 页面和 Servlet 另外 Tomcat 和 IIS Apache 等 Web 服务器一样 具有处理 HTML 页面的功能 另外它 还是一个 Servlet 和 JSP 容器 独立的 Servlet 容器是 Tomcat 的默认模式 不过 Tomcat 处理静 态 HTML 的能力不如 Apache 服务器 2 2 需求分析需求分析 2 12 1 可行性分析 可行性分析 2 1 12 1 1 市场分析市场分析 随着商场经济的快速发展 对市场信息的把握以及快速的 精确的处理各种事务的能力就越来 越显得重要 就要这种形势下 商场商品销售管理系统就运行而生 市场前景很好 2 1 22 1 2 政策分析政策分析 我们做的这个系统是用于毕业设计 没有触及法律法规 因此 政策上是一定可行的 相应还 有指导老师的帮助 2 1 32 1 3 竞争实力分析竞争实力分析 对于用于毕业设计而言 并不存在竞争现象 2 1 42 1 4 技术可行性分析 技术可行性分析 所有需要用到的技术都是 J2EE 方向的常用技术 对于我们而言 大多数技术都已学过 因此 在技术方面我们没有多大障碍 这是可行的 2 1 52 1 5 时间和资源可行性分析时间和资源可行性分析 我们毕业设计共有半个学期的时间 从本系统的需求分析 概要设计 编码和测试都有充足的 时间 这也是有由进度表所表现出来的 对于我们的设计 不管是硬件还是软件资源除了一台电脑 外 其它都是一些网上可下载的免费软件 因此这一点上也是可行的 2 1 62 1 6 知识产权分析知识产权分析 本系统现定于只用于毕业设计用 不用于商业动作 而且完全是自己所创造 所以不存在知识 产权问题 2 22 2 理解需求 理解需求 本系统是面向超市内部工作人员的 管理整个超市商品的进口与销售信息进行监控 能够方便 地得出某个季度的商品销售情况 反应市场动态 本系统能够节约大量人力 物力资源 能够及时 反应市场需求动态 也就使超市老板能够更快速把握市场 获得尽可能多的收益 超级管理员 经理 对一般管理员 收银员 进行添加 删除及基本信息的修改 也就是说 超级 管理员有一般管理员的功能外还有对一般管理员进行管理的功能 当超市进了一批货物后 由一般管理员对货物进行往系统里录入这批货物的一些相关信息 当顾客 购买一些商品 由一般管理员进行修改系统的商品销售信息 一般管理员就负责商品信息的录入与 维护 当一定时间过去了 超级管理员会对这段时间内商品的销售情况进行一个归总 也就生成报 表反应销售 利润等 根据这个结果制定下一步计划 3 3 概要设计概要设计 3 13 1 系统总体设计 系统总体设计 总体设计是对整个项目的总体概述 这里的总体设计主要是从项目实际需求和实体 E R 图入手 3 1 13 1 1 项目需求 项目需求 需求号需求名 1 超级管理员修改自己的密码及添加一般管理员 2 一般管理员登录 修改自己的信息 3 商品类型管理 商品类型的新增 删除和修改 4 商品管理 商品的新增 删除和修改 5 供应商管理 供应商的新增 删除和修改 6 进货的管理 对所进的货物进行添加及各种类型数据的修改 7 销售的管理 对所出售的货物进行添加及各种类型数据的修改 8 查看商品 会员 供应商 进货及销售的详细情况 9 对一定时间期内的进货及销售情况进行总合 算出在这期间的利润 等数据 相当于报表 3 1 23 1 2 系统实体 系统实体 E RE R 图图 系统实体 E R 图是对整个系统中的实体以及实体之间的关系进行说明 根据上面的需求分析 本系统中有 7 个实体 分别是 provide 商品供应商 goods 商品 type 商品类型 admin 管理员 user 会员 sell 销售明细 stock 进化明细 以下是本系统的实体 E R 图 goods usersell providetype n 1 1 n n 1 admin stockprovide 1 n 3 23 2 模块初步分析 模块初步分析 根据项目的需求 把本系统画分成以下五个模块 商品信息管理模块 客户信息管理模块 商品进货管理模块 商品销售管理模块 数据分析模块 3 2 13 2 1 商品信息管理模块 商品信息管理模块 商品信息管理模块主要是对商场中的商品的增加 删除 修改 查询等功能的管理 负责商品 的日常的进销存 3 2 23 2 2 客户信息管理模块 客户信息管理模块 客户信息管理模块也就是对商场会员的管理和维护 增加 删除 修改 查询等功能 3 2 33 2 3 商品进货管理模块 商品进货管理模块 商品进货管理模块是对商场进货信息的管理和维护 主要是增加 删除 修改 查询等功能 3 2 43 2 4 商品销售管理模块 商品销售管理模块 管理模块是对商场商品销售的管理和维护 主要是增加 删除 修改 查询等功能 3 2 53 2 5 数据分析模块 数据分析模块 数据分析模块是对商场的商品 会员 供应商等的信息集中进行分析 得出一些有用的数据的 功能 3 33 3 业务流程图 业务流程图 这个系统业务流程图是对商场的业务流程作一个整体的描述 一般管理 员 进货 信息 是否是新商品否 更新商品 信息 是否是新商品 类型 是 添加新商 品类型信 息 是否是新供应 商 是 添加新供 应商信息 添加进货 信息 销售 信息 录入 进货 信息 录入 销售 信息 更新商品 信息 更新商品 销售信息 会员 信息 录入 会员 信息 添加新会 员信息 是否是新会员 是 超级管理 员 管理员 信息 录入管 理员信 息 添加管理 员信息 商品类 型信息 录入商品 类型信息 添加新商 品信息 是 查询信 息 录入查 询条件 信息 执行查询 DB 4 4 详细设计详细设计 4 14 1 数据库设计 数据库设计 根据系统实体 E R 图设计 本系统主要用到 7 张表 管理员表 admin 用户信息表 user 商 品表 goods 商品类别表 type 供应商表 provide 进货明细表 stock 销售明细表 sell 4 1 14 1 1 数据库表结构 数据库表结构 admin 管理员表 字段名类型长度允许为空备注 admin idint10no 管理员编号 主键 自增 admin nameString50no 管理员姓名 admin passwordstring50no 管理员密码 MD5 加密 admin flagboolean1no 标示管理员级别 true 为超级 管理员 false 为一般管理员 user 用户表 字段名类型长度允许为空备注 user idstring20no 用户编号 主键 user nameString50no 用户名 user emailstring50noE mail user telstring50no 电话 user addressstring50no 地址 user regTimedateno 注册时间 user postcodestring50no 邮政编码 goods 商品表 字段名类型长度允许为空备注 goods idstring20no 商品编号 主键 type idstring20no 类型编号 对应 PK type 表的 type id goods namestring50no 商品名 goods pricedouble10no 价格 goods discountdouble10no 折扣 goods amountint10no 总数量 goods datedateno 最近上架时间 goods remainint10no 剩余数量 goods nominatebooleanno 是否推荐商品 默认不是 goods picturestring50no 图片 只存图片 URL 默认为 image default gif goods desc string t ext yes 对商品的描述信息 goods typeNamestring50no 商品类型名 type 商品类型表 字段名类型长度允许为空备注 type idstring20no 类型编号 主键 type namestring50no 类型名 type highLevelIdint10Yes 上级类型编号 对应 PK type 表的 type id 说明 本系统对商品类型最多分为两级 最高级的 type highLevelId 属性为空 比如 衣服 这 一种类型就没有上一级 provide 供应商表 字段名类型长度允许为空备注 provide idstring20no 供应商编号 主键 provide nameString50no 供应商名 provide emailstring50noE mail provide telstring50no 电话 provide address string50no 地址 provide postcode string50no 邮政编码 provide descstring50no 对供应商的描述 stock 进货明细表 字段名类型长度允许为空备注 idString20no 主键 stock idstring20no 进货编号 以当天时间 000001 依次自增 如 20080808000003 就是北京奥运会那天的 第三张定单 goods idstring20no 品编号 对应 FK goods 表的 goods id provide idstring20no 供应编号 对应 FK provide 表的 provide id stock pricedouble10no 进货价格 stock amountint10no 进货的数量 stock timeDateno 进货时间 sell 销售明细表 字段名类型长度允许为空备注 idstring20no 主键 sell idstring20no 定单编号 以当天时间 000001 依次自 增 如 20080808000003 就是北京奥运 会那天的第三张定单 goods idstring20no 商品编号 对应 FK goods 表的 goods id user idString50no 用户编号 对应 FK user 表的 user id sell amountint10no 定单数量 sell dateDateno 定单时间 4 1 24 1 2 用 用 hibernatehibernate 实现持久层实现持久层 4 1 2 1 创建数据库 本系统数据库名字使用 goods 因此创建数据库就打开 MySQL Connand Line Client 输入密 码登陆成功后 在命令行中输入创建数据库语句 create database goods 后回车就完成了 如图 4 1 2 2 配置文件 要完成使用 hibernate 必须对 hibernate 进行一些基本配置 这个文件是一个 XML 文件 hibernate cfg xml 这个文件配置了所用数据库的驱动 连接数据库服务的 URL 连接数据库的 用户名 密码 指定连接池 本系统使用 c3po 连接数据库所作用的方言 数据库映射文件等 下以就是本系统的此配置文件 root jdbc mysql localhost goods org hibernate dialect MySQLDialect mysql driver com mysql jdbc Driver mysql update true 20 5 1800 50 4 1 2 3 映射文件 本系统采用 hibernate 实现持久层访问 hibernate 持久层访问需要使用 POJO Plain Old Java Objects 和数据库映射文件 根据系统实体 E R 图可以得出本系统有 7 个持久化类 Admin Goods User Sell Stock Provide Type 这里以 Admin 举例 其 POJO 如下 package com cdu domain public class Admin private int admin id private String admin name private String admin password private boolean admin flag public int getAdmin id return admin id public void setAdmin id int admin id this admin id admin id public String getAdmin name return admin name public void setAdmin name String admin name this admin name admin name public String getAdmin password return admin password public void setAdmin password String admin password this admin password admin password public boolean getAdmin flag return admin flag public void setAdmin flag boolean admin flag this admin flag admin flag 根据 POJO 编写每一个持久化类的映射文件 映射文件就完成持久化类与数据库之间的联系 业务 逻辑类操作这些持久化类也就操作了数据库 映射文件配置了此持久化类与数据库表之间的对应关 系 及表的主键 外键等 Admin 这个持久化类对应的映射文件 admin hbm xml 如下 4 1 2 4 生成数据表 以上的配置都完成后 就可以往数据库导入数据表 运行带 main 方法的类 ExportDB java 就要把表导入数据库了 ExportDB java 如下 public class ExportDB public static void main String args Configuration conf new Configuration configure SchemaExport export new SchemaExport conf export create true true 在此要说明 Configuration conf new Configuration configure 这句是读取配置文件 默 认是 hibernate cfg xml 4 24 2 DAODAO 组件设计组件设计 DAO 模式是一种基本的 J2EE 设计模式 DAO 模式的关键在于系统提供了一层 DAO 组件 所有的 DAO 组件都封装在这层 DAO 可以向下访问数据库 所有数据表基本的 CRUD 操作都通过 DAO 组件来 完成 业务逻辑组件则依赖于 DAO 组件来实现系统业务逻辑需求 针对数据库设计细节 结合 UML 统一建模语言设计 DAO 组件中的类 这些类提供对数据库的原子操 作 让所有的对数据表的操作封装在 DAO 层 这样做使得业务逻辑组件无须关心数据访问的实现 而是专注于业务逻辑的实现 主要的 DAO 组件类有 AdminImpl java GoodsImpl java ProvideImpl java SellImpl java StockImpl java TypeI mpl java UserImpl java 4 2 14 2 1 AdminImpl javaAdminImpl java AdminImpl java 类是提供对数据库表 admin 的各种数据库逻辑操作功能 Admin login Session session String name String password 根据管理员名和密码加载管理员 查询数据库 void createAdmin Session session Admin admin 创建一个管理员 更新数据库 void updateAdmin Session session String password int id 更新管理员密码 更新数据库 void deleteAdmin Session session int id 删除一个管理员 更新数据库 List getAdmin Session session 查询所有管理员 查询数据库 UML 图如下 login in session Session in name string in password string Admin crateAdmin in session Session in admin Admin updateAdmin in session Session in password string in id int deleteAdmin in session Session in id int getAdmin in session Session Admin AdminImpl 4 2 24 2 2 GoodsImpl javaGoodsImpl java GoodsImpl java 类是提供对数据库表 goods 的各种数据库逻辑操作功能 void saveGoods Session session Goods goods 保存一种商品 更新数据库 List getGoods Session session String type int beginPage int listPage 分页查询 商品某类型的所有商品 查询数据库 Goods getGoods Session session String id 以 id 查询一种商品 查询数据库 void updateGoods Session session Goods goods 更新商品 更新数据库 void updateAmount Session session String id int total int remain 更新商品的数量 更新 数据库 UML 图如下 saveGoods in session Session in goods Goods getGoods in session Session in type string in beginPage int in listPage int Goods getGoods in session Session in id string Goods updateGoods in session Session in goods Goods updateAmount in session Session in id string in total int in remain int GoodsImpl 4 2 34 2 3 ProvideImpl javaProvideImpl java ProvideImpl java 类是提供对数据库表 provide 的各种数据库逻辑操作功能 void createProvide Session session Provide provide 创建一个供应商 更新数据库 void deleteProvide Session session String id 根据 ID 删除一个供应商 查询数据库 void updateProvide Session session Provide provide 更新供应商 更新数据库 Provide getProvide Session session String id 以 ID 应商 查询数据库 List getProvide Session session int beginPage int listPage 分页查询供应商 查询数据库 UML 图如下 createProvide in session Session in provide Provide deleteProvide in session Session in id string updateProvide in session Session in provide Provide getProvide in session Session in beginPage int in pageList int Provide ProvideImpl 4 2 44 2 4 SellImpl javaSellImpl java SellImpl java 类是提供对数据库表 sell 的各种数据库逻辑操作功能 void createSell Session session Sell sell 新建销售记录 更新数据库 void updateSell Session session Sell sell 更新销售记录 更新数据库 void deleteSell Session session String id 删除一条销售记录 更新数据库 Sell getSell Session session String id 查询一条销售记录 查询数据库 List getSell Session session int beginPage int listPage 分页查询销售记录 查询 数据库 List getSell Session session int beginPage int listPage String user id boolean falg 分页显示某个用户的消费情况 查询数据库 List getSell Session session int beginPage int listPage String sell id 分页显 示某种商品销售情况 查询数据库 UML 图如下 createSell in session Session in sell Sell updateSell in session Session in sell Sell deleteSell in session Session in id string getSell in session Session in id string Sell getSell in session Session in beginPage int in pageList int Sell getSell in session Session in beginPage int in pageList int in sell id string Sell getSell in session Session in benginPage int in pageList int in user id string in flag bool Sell 4 2 54 2 5 StockImpl javaStockImpl java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于模糊逻辑的恶意内核代码检测方法-洞察及研究
- AI与动态网络管理的结合-洞察及研究
- AI辅助钓鱼攻击预测-洞察及研究
- 2025年煤矿应急演练评估培训试卷及答案-安全培训信息管理执行人员
- 基于TVC的智能传感器集成与优化研究-洞察及研究
- 古气候事件石笋记录-洞察及研究
- 6G智能天线与频谱共享-洞察及研究
- 大数据驱动下的黑色冶金工艺优化策略-洞察及研究
- 基于神经网络的智能键盘行为模式分析-洞察及研究
- 分子系统发育-洞察及研究
- 琴行学员合同(标准版)
- PCBA维修培训课件
- 2025年哈市冰城骨干教师考试试题及答案
- 银行厅堂营销活动方案
- 医师依法执业培训课件
- 数字时代的智能技术(宁波工程学院)学习通网课章节测试答案
- 国家电投集团电投国际招聘笔试题库2025
- 专利代理师真题及答案解析2025年
- 生鲜蔬果配送管理办法
- 解除房屋托管合同协议书范本
- 2025年白银行业当前市场规模及未来五到十年发展趋势报告
评论
0/150
提交评论