1、长 春 工 业 大 学 信 息 与 计 算 科 学 毕 业 论 文摘 要随着Internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。经过几年实践,我国电子商务发展迅猛,并且越来越走向务实,还有就是网络的发展与应用已经蓬勃发展起来。一类适合现代人网上购物的系统网上购物是非常必要和可行的,并在我国已得到初步应用并有很
2、广泛的市场需求前景。本设计尝试基于MVC设计模式,J2EE体系结构,MYSQL数据库,JSP,STRUTS,HIBERNATE等技术在网络上架构一个动态的电子商务网站以使每一位顾客不用出门在家里就能够通过上网来轻松购物。在论文中首先介绍了网上购物的北经济系统开发的目标和意义,并根据以上知识制作网站。文中主要包括可行性研究、需求分析、网站的概要设计、详细设计、数据库设计等,并通过流程图和文字加以解释说明。关键词: JSP,STRUTS技术,HIBERNATE技术,MVC模式 ,MYSQL。Title Net Shopping SystemAbstractSummary Along with th
3、e development of Internet technology, daily life can not already do without the network. The life and work of the social people of future will depend on the development of digital technology more and more , Digitize more and more, the networking, electronization, virtual. E- commerce presses close t
4、o peoples life day by day along with the development of network too.Development course and present application state and development trend of Internet, can believe network technology great change life and working way of us fully, Even a certain change will take place in the values of the society. Af
5、ter several years practice, the development of electronic commerce in our country is swift and violent, and more and more moves towards the direction of practicality. And network application is growing vigorously. A kind of the system, which suits modern people to do shopping online- “ netshop”, is
6、extremely essential and feasible, and obtained the preliminary application in our country and has the very widespread market demand prospect. This procedure tries to build up a dynamic e-commerce website in the network with MVC structure ,JSP,STRUTS,HIBERNATE, So that every customer neednt go out an
7、d can do shopping easily through surfing the Net at home . The main content of the investigation and study analysis, requirement analysis, website design, feasibility study ,detailed design, platform demonstrate, database design and so on, and these are all explained through the flow chart and by le
8、tters. Key words: JSP,STRUTS,HIBERNATE,MVC structure, MYSQL3毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕
9、业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录目 录11.系统开发概述11.1、网上购物可行性分析11.2、系统开发目标21.3、本设计主要完成的工作21.4、系统特点概述32.需求分析42.1、网上购物现状及发展趋势42.2、系统模块设计42.3、系统功能描述62.4、运行环境72.5、开发模式的确定72.5.1、采用MVC设计模式72.5.2、软件设
10、计应用分层体系结构73.系统开发相关技术选择93.1、系统的开发框架采用Struts技术93.2、页面开发使用JSP技术103.3、HIBERNATE对象持久化技术的确定113.3.1、HIBERNATE概述113.3.2、为什么选择HIBERNATE技术114.概要设计134.1、系统体系结构134.2、网络销售系统结构设计144.3、销售系统流程图145.数据库及ORM相关设计155.1、对数据库的操作155.1.1、数据库访问模式155.1.2、通过Hibernate API操纵数据库165.2、数据库设计175.2.1、数据库表设计175.2.2、数据库连接205.3、数据库管理模型:
11、205.4、对数据库的操作对象关系映射216.详细设计与系统实现236.1、配置文件的设计236.1.1、WEB.XML的设计236.1.2、struts-config.xml设计246.1.3、MessageResource.properties设计256.2、JSP页面的开发266.3、个模块流程图276.4、程序系统的结构326.5、负责持久化的业务逻辑的部分方法336.6、系统模块功能实现演示367.系统测试与维护427.1、系统测试427.1.1、单元测试427.1.2、集成测试437.2、系统维护447.2.1、系统维护理论447.2.2、软件维护的过程45结 论47致谢47参考文
12、献48附录1:方法实现1附录2:系统的实现程序51.系统开发概述目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并进入传统的流通领域。于是电子商务开始流行起来,一种全新的购物理念开始形成并逐步发展。网络销售是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动
13、或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,购物车管理,订单生成。网络销售系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易。1.1、网上购物可行性分析21世纪是一个信息化世纪,信息技术几乎主宰了整个社会经济的发展。近年来,随着信息的全球化和国际互联网的普及化,电子商务成为互联网应用的最大热点,越来越多的企业通过使用电子商务技术来进行商业上的交易以减少成本,企业通过Internet为消费者提供一个新兴的购物环境,即网上购物环境,以往的购物商店将不在火暴,取而代之的是网上购物的热潮。这样即方便了消费者,又减少了企业成本。信息化还为日常
14、生活带来了便利,其中最典型的体现是近年来才兴起的电子商务,伴随着INTERNET的蓬勃发展,网上购物商店作为电子商务的一种形式高效低成本的优势,逐步成为新型的经营和消费理念,迅猛发展起来。所谓网上购物就是人们通过互联网选择自己中意的商店这种商店是模拟现实生活中的商店。用户可以登陆到这个商店的网站,在其中浏览网页,查找自己喜欢的商品,商店内的商品在网上实时报价,商品实时更新;商店中有购物车,用户可以挑选自己喜欢的商品放入购物车,当然也可以改变自己的主义,不喜欢了可以删除,想买多个可以编辑商品的数量,和现实生活中挑选商品很相似。当想购买垢污车中的商品时可以提交订单,如同到收银台结帐。方便快捷,效率
15、高还不浪费体力,不受时间和空间限制,很手消费者喜爱。随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。消费者与销售商都迫切需要一种简便与高速高效的购物与销售方式,在线商店管理系统的出现正好满足人们的这种需要,通过网络的简便与高效可以使消费者节省时间,价格公开合理。而使销售者更合理的调节商品的数量以免造成商品的积压,也同时使生产者真正随着市场经济的需求而调节产品的种类
16、和数量。但是目前国内网上购物系统应用方面还不够成熟,主要受传统观念的影响和系统等多方面的不安性的制约,解决人们的需求并保证系统的安全性是目前购物要解决的一个重要问题。系统的开发也应更趋于实时性,交互性和丰富性,使用动态网页技术的网页越来越受欢迎。1.2、系统开发目标本次毕业设计应用面向对象的设计思想,构建一个电子商务网站-网上购物系统,使用Eclipse开发工具,采用MVC设计模式,基于服务器端的JSP,Struts框架技术和Hibernate对象持久化技术等主要技术,实现了用户注册,用户登陆,用户浏览商品,购买商品,编辑购物车,更新用户,更新商品,管理定单等功能,游客可以浏览网站,按特定的条
17、件对所需商品进行搜索,但不能购买商品,登陆的用户能够对自己的注册资料进行修改,下定单购买商品,管理员能够对商品商品管理(添加/删除商品、商品类别管理、商品信息处理)、管理用户资料、管理定单、处理定单,管理员在线编辑,管理工作轻松随意,用户购物积分功能,以次激励用户购物热情。本系统属于一个中小型的网上购物系统,把struts和hibernate这两种在业内比较推崇的开源技术相结合,在项目开发中不管是从效率上还是易维护上都是完美的结合。不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。将使用HTML、JSP、Struts标签库等技术来编辑网页,运用Hibernate技术对数据库进行封装,
18、在Web应用开发中把界面和业务逻辑分离,提高了代码的可重用性和灵活性。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。1.3、本设计主要完成的工作 首先要搜集资料,对网上购物有一定的认识,并研究销售的现状和未来发展趋势,对系统应具有的功能进行系统的分析,对系统模块进行划分,对模块功能进行规定,系统开发的相关技术应用进行
19、思考和选择。 然后,配置系统开发的环境,建立系统开发进行基础数据搭建,建立数据库表,对字段进行类型规定和限定,ORM模型设计。在详细设计阶段,先添加系统框架,配置XML文件,再对各个模块进行具体的实现。 边开发边进行单元测试,开发完成以后再进行整体的测试,直到测试结果全部按照预期结果出现为止。1.4、系统特点概述1. 本系统完全基于Web技术,只要能连接Internet,就能访问本系统。2. 采用JSP+STRUTS+HIBERNATE+MYSQ进行开发,具有层次结构分明,管理方便,代 码简单易懂特点。3. 可以完全通过网页登录管理系统,维护方便。4. 各种功能模块独立性强,可以根据需要任意组
20、合。5. 使用布局,让界面整体结构一致,清新简洁方便,操作简单。6. 错误页面进行处理,采用友好的提示页面7. 支持所有的Windows系列操作系统2.需求分析本章划分出了系统必须完成的所有功能,给出了网上购物系统整体模块图和系统流程图,并对系统模块功能进行了规定。而且清楚的给出了本系统的设计模式的选择和架构技术的介绍。2.1、网上购物现状及发展趋势 自2003年上半年以来,沉寂了多年的中国互联网产业正以强劲的势头复苏并发展起来,除了传统的浏览、资料搜索、电子邮件等基本应用外,国内网民已经开始习惯通过网络接受商务、旅游、购物、通讯、娱乐等服务,根据中国互联网信息中心最近提供的中国互联网络发展状
21、况统计报告调查显示,网络销售已经由以前的尝试性销售向日常的生活习惯发展,其中以书籍、计算机产品、音像制品及器材等为网上购物的主要对象,服装、体育用品、生活家居用品等消费额也开始大幅度提高。 互联网的快速发展为网上购物系统的发展提供了强大的动力,同时,电子购物的环境也已经逐步得到了改善,表现在网民结构的大众化和网络生存的普及化,物流和银行结算的畅通,以及市场运作的规范和相应政策法规的完善。在线销售的网上购物对网民的吸引力将会越来越大,网民对购物网站的看法也将必定会从不了解到了解,从拒绝到接受,从怀疑到信任,从否定到肯定,在线购物的观念将更加深入人心。2.2、系统模块设计 本系统共分为前端用户和管
22、理员两大模块,分别有权限的限制,用户和管理员对系统的操作均可以在jsp页面中进行,简单方便.图1.系统模块图表1.统功能规约表序号功能模块类别功能模块备注1客户端个人信息管理2查看商品3购物车需要用户模块共同工作4前台订单处理(结帐)5管理端用户管理6商品管理需要管理端用户验证7后台订单管理需要管理端用户验证2.3、系统功能描述1网上购物系统主要实现分为前端用户模块和后台管理员模块两大部分:前台包括用户登陆页面,注册页面,用户对个人信息的修改页面,中心主页中包括用户查看所有商品,公告中的推荐产品、最新产品,并有购物车工具,是用户能够使用购物车添加欲购买商品、查看已添加商品、删除已添加进去的商品
23、,购物车自动为用户统计商品数量、单价、总价,用户确认后可以提交,生成订单来购买商品购买商品。未登录的用户和登录的用户均可以进入销售系统主页,浏览公告信息,商店产品,并可以挑选商品放入购物车中,修改购物车中产品,当提交购物车的时候,没有登录的用户需要登录后方可以提交订单,若未注册的用户要先进行注册,购物车保持当前状态。后台包括管理员登陆身份验证,商品的库存管理,价格管理,订单处理,用户信息管理,对公告栏信息的管理以管理员身份登录,验证通过后可以对后台数据库中的用户信息,商品信息数量,库存,公告等进行增删改查等操作,并可以查看订单状态数量。2系统权限分为普通登录用户,VIP登录用户,匿名用户,和管
24、理员。匿名用户是权限最小的用户,只可以浏览商品不可以购买,购买时应先进行注册;登录用户可以购买商品,编辑购物车,修改个人资料,购买特价商品;VIP用户出可以由普通用户的权限以外还可以所有商品享受固定的折扣价格:管理员属于最大权限的用户,可以对后台数据库进行操作,维护客户信息,管理库存商品。 图2.ustomer用例图2.4、运行环境软 件:MyEclipse5.1.0 ,TomCat6.0, MySQL5.1,JDK1.5操作系统:Windows 2000 Sever应用技术:jsp,struts,hibernate2.5、开发模式的确定 系统开发模式的选择对系统开发至关重要,本系统采用mvc
25、设计模式,软件开发采用四层体系结构,下面介绍一下此设计模式和次结构确定的依据.2.5.1、采用MVC设计模式1MVC的应用MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。2MVC处理过程首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。然后模型根据用户请求进行相应的业务逻辑处理
26、,并返回数据。最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。3使用MVC的好处我使用这个设计模式最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。2.5.2、软件设计应用分层体系结构四层应用表述层网上购物系统的前台JSP页面及FormBean业务逻辑层网上购物系统中程序中的Acti
27、on部分及ActionServlet.持久化层处理数据对象的持久化方法BusinessService及持久化类(JDO)数据库层应用MySQL 中数据库(JDBC驱动程序在Hibernate中被封装) 图3.层体系结构图软件分层的优点 1伸缩性 伸缩性指应用程序是否能支持更多的用户。应用的层越少,可以增加资源(如CPU和内存)的地方就越少。层数越多,可以将每层分布在不同的机器上2可维护性 可维护性指的是当发生需求变化,只需修改软件的某一部分,不会影响其他部分的代码。3可扩展性 可扩展性指的是在现有系统中增加新功能的难易程度。层数越多,就可以在每个层中提供扩展点,不会打破应用的整体框架。4可重用
28、性 可重用性指的是程序代码没有冗余,同一个程序能满足多种需求。例如,业务逻辑层可以被多种表述层共享。5可管理性 可管理性指的是管理系统的难易程度。将应用程序分为多层后,可以将工作分解给不同的开发小组,从而便于管理。应用越复杂,规模越大,需要的层就越多。3.系统开发相关技术选择3.1、系统的开发框架采用Struts技术我的网上购物系统是WEB项目,采用MVC设计模式, 所以开发框架的选择十分重要,选择好Web架构最大的好处就是开发效率较高,调试的时候方便查找错误以便修改,而且一个好的框架被人们认可使用,则相对稳定。Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架。随着互
29、联网的迅猛发展,网站功能日益增强基于MVC的Web架构倍受欢迎,它可以弱化各个部分的耦合关系,并将业务逻辑处理与页面以及数据分离开来,这样当其中一个模块的代码发生改变时,并不影响其他模块的正常运行,所以基于MVC的Web架构更适应于大规模软件应用开发的潮流。采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。在Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑
30、的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。 图4. Struts框架图 每个页面对应一个FormBean, 每个动作对应一个Action,每个部分出错都有相应的成功或错误提示页面,层次清晰,开发各个模块互不影响,提高效率,而且开发出来的系统相对稳定。3.2、页面开发使用JSP技术网上购物系统的前台页面均运用JSP进行开发的,并没有使用Servle
31、t,虽然Servlet效率很高,但编写不方便,相当复杂,下面我们来看一下很多用过的开发者对这两种的区别,及优缺点。1. Java Servlet是J S P技术的基础.且大型的We b应用程序的开发需要Java Servlet和JSP配合才能完成。许多We b服务器都支持Servlet,即使不直接支持Servlet的We b服务器也可以通过附加的应用服务器和模块来支持Servlet。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。Java Servlet是利用输出HTML语句
32、来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场恶梦。最大缺点就在于没有把网站的逻辑和页面的输出分开,导致整个Servlet代码混乱不堪。为了解决Java Servlet的这种缺点,SUN推出了Java Server PagesJSP。2. Java Server Page(JSP)是运行于服务器端的脚本语言之一,是java阵营中最具代表性的解决方案。使用JSP不仅能够制作想HTML一样的静态网页,还能够制作包含动态数据的网页。JSP语言制作网页比其他服务器脚本语言更加简单、迅速、有力。1) JSP语言和一般的java语言一样,具有面向对
33、象性、便利性、跨平台等优点和特性,还拥有Java Servlet的所有稳定性,另外还可以使用Servlet提供的API。这是因为JSP是以Java和Java Servlet为基础开发完成的技术。JSP克服了servlet的缺点,它不像servlet其源代码并不是专属于程序员的,网页设计者和HTML编码员也可以得到这些源代码。程序员可以利用JavaBean和Script标记在HTML的静态内容中加入动态数据,制作动态网页。2) JSP属于服务器端脚本语言,是通过JSP Container转换Servlet,并运行于网页的语言。JSP文件在JSP Container中进行编译后,转换为Servle
34、t Class的形式,然后又Servlet Class对客户端的请求应答进行。综上所述,我们不难看出JSP的方便,灵活,将内容的生成和显示进行分离,简化页面开发,作为Java平台的一部分,JSP拥有Java编程语言的“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己选择的服务器和工具,更改工具或服务器而并不影响当前的应用。这样使我对我的分曾开发提供方便而且修改容易。 而且Struts中还提供了关于Jsp开发的标签库,运用和结合都很容易,所以我选择Jsp.3.3、HIBERNATE对象持久化技术的确定3.3.1、HIBERNATE概述1. 它是连接Ja
35、va应用程序和关系数据库的中间件2. 它对JDBC进行了封装,负责Java对象的持久化3. 在分层的软件架构中位于持久层,封装了所有数据访问细节,使业务逻辑层专注于业务逻辑4. ORM映射工具5. 在Java应用中使用Hibernate的步骤1) 创建Hibernate的配置文件2) 创建持久化类3) 创建对象-关系映射文件4) 通过Hibernate API编写访问数据库的代码3.3.2、为什么选择HIBERNATE技术传统的JDBC编程的缺点1) 实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可读性差。2) 在程序代码中嵌入面向关系的SQL语句,使开发人员不能完全运用面向
36、对象的思维来编写程序。3) 业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了CUSTOMERS表的结构,那么必须手工修改程序代码中所有相关的SQL语句,这增加了维护软件的难度。4) 如果程序代码中的SQL语句包含语法错误,在编译时不能检查这种错误,只有在运行时才能发现这种错误,这增加了调试程序的难度。Hibernate操纵数据库的优点Hibernate提供了Java对象到数据库表之间的直接映射,开发者无需直接涉及数据库操作的实现细节,实现了一站式的ORM解决方案。通过Hibernate API编写访问数据库的代码,对JDBC进行了封装,负责Java对象的持久化, Hiberna
37、te既不会渗透到上层域模型中,也不会渗透到下层数据模型中。软件开发人员可以独立设计域模型,不必强迫遵守任何规范。数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。4.概要设计4.1、系统体系结构系统设计采用典型的三层结构模式:第一层JSP页面主要实现对管理界面的显示和解释、中间层组件实现业务逻辑的控制和对数据库的操作,第三层数据库服务器主要对系统提高数据服务。中间层的Struts的Aaction组件主要负责流程控制工作,Spring实现了全部中间业务逻辑,Hibernate实现了对数据库的操作和数据的持久化工作。 图5. 系统模式图注:应用程序为四层的软件分层结构,其中业务逻辑和Hib
38、ernate为三层模式的中间件层组件 图6. 应用程序的分层体系结构图4.2、网络销售系统结构设计系统主要模块对应的struts组件对象名称ActionServletActionFormActionModelJDO用户ActionServletRegisterFormRegosterActionBusinessServiceUserBean商品ProductFormQueryProductActionQueryProductBean购物车LineItemFormProductActionCartBean订单OrderFormOrderActionOrderBean4.3、销售系统流程图 图7.
39、 客户端流程图 图8. 管理端流程图5.数据库及ORM相关设计5.1、对数据库的操作 本系统的对数据哭的操纵采用对象操纵。用Hibernate封装了JDBC的驱动,数据库中的每长表对应一个JDO,对象的持久化直接对持久化类进行操纵,方便快捷,效率很高,而且省去了每条数据单独操作的麻烦,可以把整个对象进行修改和查询,整体操作安全省时,而且脉络清晰。5.1.1、数据库访问模式业务逻辑和数据访问耦合ORM模式:在单个组件中负责所有实体域对象的持久化,封装数据访问细节。 主动域对象模式:由实体域对象本身负责管理自己的持久化JDO模式: SUN公司制定的描述对象持久化语义的标准API CMP模式:由容器
40、负责管理持久化 图9. ORM模型图5.1.2、通过Hibernate API操纵数据库 通过Hibernate API编写访问数据库的代码,对JDBC进行了封装,负责Java对象的持久化, Hibernate既不会渗透到上层域模型中,也不会渗透到下层数据模型中。 图10.数据库访问类图5.2、数据库设计 数据库的设计对一个系统的开发至关重要,就如同该高楼要地基建的要好一样,它是整个系统开发的基础和先决条件,也是ORM模型的必要部分。我们必须设计一个合理的数据库表,才能在建立模型匹配和数据持久化的时候一步到位,而不用做更多的善后工作,而且数据库表的连接一定也要设计的合理,以便对象模型和关系数据
41、库模型关联的时候映射文件的设计。 本系统开发采用SQL Server 2000数据库。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统中应用最广泛的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便。可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL SERVER是基于WINDOWS NT/2000的大型关系型数据库,它在各种企业级开发中独占
42、鳌头,从此可以看出本数据库的优点所在,因此本系统中选用了该数据库。5.2.1、数据库表设计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库的设计:(数据库表创建语句在附录1中)表2.数据库中表描述总汇序号数据库表数据库表名称1UserInfo_table用户信息2UserOrders_table用户订单信息表3ListOrders_ta
43、ble用户订单项目信息表4Cartshop_table购物车信息表5ListCarts_table购物车项目信息表6ProductInfo_table商品信息 表3. 用户信息表Users_table序号字段名字段类型说明备注1usersIdINTEGER用户编号Primary Key2userNameVarchar(20)登录名称Not NULL3nameVarchar(20)用户名称Not NULL4userPassVarchar(20)用户密码Not NULL5userTypeVarchar(20)用户类型Not NULL6userSexVarchar(2)用户性别7userPhoneV
44、archar(20)用户电话8userEmailVarchar(40)用户邮件9userAddressVarchar(200)用户地址10userAllpriceInt用户累计消费11sumOrdersInt用户订单总数表4. 用户订单表UserOrders_table序号字段名字段类型说明备注1OrderedsIdINTEGER订单号Primary Key2ListOrdersIdINTEGER商品项目信息IDFOREIGN KEY3UserIdINTEGER订购人IDFOREIGN KEY4OrderTimeDatetime订单产生日期Not NULL5OrderStatusInt订单是否
45、确认Not NULL6OrderPassTimeDatetime确认时间7OrderTotalPriceDecimal(9,2)订单总价8OrderScuOrDowInt订单是否交易成功Not NULL 表5. 用户订单项目详细信息ListOrders_table序号字段名字段类型说明备注1ListOrdersIdINTEGER商品项目信息号Primary Key2ProductIdINTEGER商品IDFOREIGN KEY3ProductNameVarchar(100)商品名Not NULL4ProductPriceInt商品单价Not NULL5QuantityInt商品数量Not NULL6OrderedsIdINTEGER订单号FOREIGN KEY表6. 购物车信息表Cartshop_table序号字段名字段类型说明