毕业设计论文基于Struts框架的网上书店.doc

上传人:sccc 文档编号:4863126 上传时间:2023-05-20 格式:DOC 页数:43 大小:2.07MB
返回 下载 相关 举报
毕业设计论文基于Struts框架的网上书店.doc_第1页
第1页 / 共43页
毕业设计论文基于Struts框架的网上书店.doc_第2页
第2页 / 共43页
毕业设计论文基于Struts框架的网上书店.doc_第3页
第3页 / 共43页
毕业设计论文基于Struts框架的网上书店.doc_第4页
第4页 / 共43页
毕业设计论文基于Struts框架的网上书店.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《毕业设计论文基于Struts框架的网上书店.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于Struts框架的网上书店.doc(43页珍藏版)》请在三一办公上搜索。

1、摘 要网上书店是指利用互联网络来实现图书销售业务的一种新型图书零售渠道。网上书店订单处理速度快,服务范围宽,存书量大,读者坐在家里就可以“逛书店”。本文就网上书店的整个开发流程(包括需求分析,系统设计,详细设计,系统测试等)进行了详细的论述,并在架构设计和实现方案上给出了考虑因素和理论依据。系统实现的主要功能包括:前台的用户注册登录、图书信息的查询和浏览、购物车、下订单等,后台的图书管理,用户管理,订单管理等。本系统采用了B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此

2、架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。关键词:网上书店;Java;Struts2;面向对象ABSTRACTOnline bookstore is using the Internet to achieve a new kind of book sales book retailing channels. Online bookstore order processing speed, wide range of services, volume of books, the reader can sit at home, booksto

3、re.In this article online bookstore throughout the development process (Including requirements analysis, system design, detailed design, system testing, etc.) are discussed in detail, and in architecture design and implementation of programs on the consideration given and the theoretical basis. Syst

4、em to achieve the main features include: front desk of the user registration log book information query and browsing, shopping cart, orders, etc., the background of the library management, user management, order management. The system uses the B / S structure, three operating modes, both for Intrane

5、t / Internet. Browser as the first layer, the application interface as a system; application logic services for the second layer; data link for the third layer, as the systems data access services. This architecture is no need to install client software, easy software distribution and maintenance up

6、grades to adapt to many applications distributed environment, the client operation and maintenance needs.Key words: Online bookstore; Java; Struts2; object-oriented目 录1 系统概述11.1 网上书店的发展11.2 网上书店的现状11.3 网上书店的优势12 系统开发技术32.1 MVC模式简介32.2 Struts是实现MVC模式的框架43 需求分析53.1 可行性分析53.2 系统需求分析53.2.1 功能需求63.2.2 性能

7、需求63.3 数据流程分析63.3.1 顶层数据流图63.3.2 第一层数据流图73.3.3 第二层数据流图94 系统总体设计114.1 系统设计目标114.2 系统模块设计114.2.1 系统结构设计114.2.2 系统模块设计125 系统详细设计145.1 系统功能模块设计145.1.1 用户登录模块155.1.2 用户注册模块165.1.3 管理员功能模块165.1.4 图书信息管理模块175.1.5 购物车管理模块185.1.6 订单管理模块205.1.7 添加图书模块225.1.8 图书查询模块235.2 数据库设计255.2.1 数据库的需求分析255.2.2 数据库的逻辑设计25

8、5.2.3 创建数据表脚本276 系统测试306.1 配置测试环境306.2 测试结果31结 论37参考文献38致 谢391 系统概述1.1 网上书店的发展Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动.实际上,电子商务是一些商业行为的电子化,例如网络书城,网上贸易,就网络书城来说,网络书城是目前应用最广,最成功的典范之一,网络书城的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书

9、流通率。1.2 网上书店的现状出版物网上销售不仅是传统销售渠道的发展和补充,也是未来图书销售的发展方向目前我国运作和销售较好的大型网上书店,如当当、卓越和旌旗席殊、中国书网网上书店等,这些网上书店各具优势,其中当当网上书店在价格和品种方面的优势是无人能比;卓越网上书店创造流行的能力比较强;旌旗席殊网上书店的优势是网点多,覆盖面广。在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。其中亚马逊网上书店在1998年拥有450万名顾客,到2002年有将近32亿人网上购书,销售额达到了78亿美元。1999年英国的20亿英镑图书总销售额中,网上销售占5%。英国书业界人士分析,未来

10、英国的网上售书将成为图书销售渠道中的主要渠道。1.3 网上书店的优势(1)网上书店挤压盗版空间网络书店的兴起无疑给盗版商以有力的打击,因为发达的网络可以直接疏通图书的发行渠道,缩短了网上购书者与出版社的距离,给图书消费者以清新、便宜的享受。(2)网上书店浓缩了图书的库存空间传统图书店内的图书摆放面积是有限的,每增加一本书其成本都在以一定比例增加,而网络书店解决了存储空间问题,每增加一本书成本增长几乎为零。(3)数量、种类多,出版时间跨度大综合性的网上书店涉及各种各类内容的图书,提供订购的书目信息达上万、几十万条,而图书出版的时间有最新出版的,也有几十年前的,这是传统书店难以做到的。(4)不受时

11、间、地域限制网上书店是24小时向全球各地的用户提供网上服务的,用户借助网络可以漫游于世界各地的图书海洋中,随时选书、下订单。(5)多途径综合检索网上书店主要提供分类和自定义搜索的方式对图书进行查找。(6)个性服务网上书店不只单纯销售图书,还充分发挥网络优势,提供丰富多彩的个性化服务,满足读者特定的需求。网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,既使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。2 系统开发技术2.1 MVC模式简介MVC是Model(模型)View(视图)Contro

12、ller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模

13、型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。如下图所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:图1

14、 MVC模式2.2 Struts是实现MVC模式的框架设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由Java Bean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它

15、简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Strutsconfig.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Strutsconfig.xml是与Struts相关的特殊信息配置的描述文件。3 需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现

16、商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。3.1 可行性分析开发任何一个基于计算机的系统都会受到时间和资源的限制。因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性。(1)技术可行性:本网站严格按照MVC设计模式来开发,采用JSP、Struts2、Spring和Hibernate等一些JAVA Web相关技术实现。Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代

17、码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C+语言更容易写出“无错代码”。(2)经济可行性:选择图书做本购物系统的主打商品,因为图书属于折扣大利润丰厚的商品,而且网上书店不需要门面等成本开销,故大大降低其价格。加之传递方便、耐存储,故网上卖书具有比传统书店更大的成本优势。有较大的客户群,本网站的商品主要为各类教材,销售对象主要是学生,故存在很大的市场。3.2 系统需求分析通过对系统的

18、分析及对其他网店的参考,基本确定了“网络书城”的基本功能以及基本性能的基本需求。3.2.1 功能需求这方面的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能。(1)图书查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者名称快速查询所需书目信息的功能。(2)购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。(3)订单处理:对应客户购

19、买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。(4)会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关信息。3.2.2 性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。(1)用户在客户端点击存在服务器中的主页时,系统能快速响应。(2)在安全性方面,Java程序要满足客户传输信息的基本安全。3.3 数据流程分析3.3.1 顶层数据流图说明:未注册用户通过注

20、册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。系统顶层数据流图如下图所示。图2 系统顶层数据流图3.3.2 第一层数据流图前台购书和后台管理。根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第一层数据流图。(1)前台购书用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交订单,等待订单的处理结果。系统第一层数据流图(前台购书)如下图所示。图3 系统第一层数据流图(前台购书)(2)后台管理管理员可以登录到后台,查看相关的订单信息,然后修改订单的信息,主要是审核订单的有效性。系统第一层数据

21、流图(后台管理)如下图所示:图4 系统第一层数据流图(后台管理)3.3.3 第二层数据流图用户登录处理。为保证数据的有效和客户的管理,系统必须登录后才能进行购买图书的相关操作,登录是系统安全和数据有效性验证的第一部分。系统第二层数据流图(用户登录)如下图所示:图5 系统第二层数据流图(用户登录)394 系统总体设计4.1 系统设计目标本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为

22、前提。如果质量不合格,对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。4.2 系统模块设计4.2.1 系统结构设计系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。网上书店不是一个简单的概念 ,它包含了许多个内容,是由多个页面组成的一个整体的系统。(1)在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作

23、界面 ,通过鼠标或键盘的操作 ,为用户提供最简洁的使用方法。(2)在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。(3)在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,具有完善的系统和数据安全的保障体系。根据MVC的设计思想,可以得出如图所示的系统结构设计图。图6 系统结构设计图4.2.2 系统模块设计网上书店系统主要是实现以下两个功能:一是客户在网上查书,选书,购书和产生订单等功能。二是后台的图书管理功能,包括图书种类的管理和图书的管理。一个典型的网上书店一般都

24、有需要实现商品信息的动态展示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。根据需求分析可以分为五大功能模块,如图所示:该网站的功能模块如下表所示:表1 网站的功能模块功能模块功能概述图书信息管理该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。会员管理实现网上书店客户信息的注册及身份验证。由于目前网上商城普遍采

25、用的方式为送货上门或者邮寄,因此需要收集与客户相关的真实姓名,通信地址和联系方式等信息。订单管理实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。图书管理该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。5 系统详细设计5.1 系统功能模块设计本网站系统包括两大部分,前台和后台。用户只能使用前台的各项功能包括注册、登录、购物、收藏、浏览书籍信息等;后台只有管理员才能使用,对网站进行综合管理使其动态更新。下图为系统前台主要业务流程与系统前台主要业务流程:图7 系统

26、前台主要业务流程图8 系统后台主要业务流程5.1.1 用户登录模块这里介绍用户登录的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性。下面是登录程序流程图,如下图所示:图9 登录程序流程图5.1.2 用户注册模块注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图所示:图10 注册程序流程图5.1.3 管理员功能模块网站管理员登录到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以

27、添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。管理员可以添加公告信息等。5.1.4 图书信息管理模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。主要分为两大部分,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到es_bookshop数据库中的es_book数据表。下面是图书

28、展示设计流程图,如下图所示:图11 图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es_bookshop数据库中

29、的es_book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开es_book数据表,并按照用户指定的方式和关键字信息将es_book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入部分信息即可。5.1.5 购物车管理模块购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。本次将以session技术、cookie技术来实现购

30、物车。(1)优点占用系统资源少,我们可以把数据库安置在一台电脑中,Web服务器安置在另一电脑中,系统资源充分发挥。购物车中数据可以得到有效保留,我们可以试想一客户在购物时,突然某其他原因(死机等原因)离开了购物站,他在购物车中数据有效保留下来,他下次登录时购物车中还有上次保留的数据,避免用户再次选购商品的操作(此功能只对登录用户的购物车有效),要是用会话实现购物车,所有用户一旦离开站点,他的购物车中数据全部失效。(2)实现数据库及 session准备。购物车是网上书城必需的一项功能。主要用于记录客户购买的图书编号、书名、出版社、作者、数量、单价等信息,并且应该计算出总价及打折后应付的金额,以便

31、用户随时掌握自己的购买信息。本系统实现购物车时使session技术和数据库。对于用户的购买信息主要用session来记录,购买结束后再一起提交到数据库中,另打折信息是由数据库统一管理的,它是和图书入库一起完成的。这里要注意的是购物车也可以不使用session,而直接把信息写到数据库中,这样做比较简单,但由于每次选购都要将信息写入数据库中,这样将给服务器带来很大的负担。如果有很多用户同时在购书,就很容易使服务器瘫痪。所以基于以上考虑,我们采用session对象。购物车功能定义。购物车是客户在书店中实施购买活动的辅助工具,购物车性能的优劣在某种程度上也会影响购买者的购买情绪和行为。因此在设计购物车

32、时不仅要考虑功能的多样性也要考虑购物车的实用性。本次对购物车的功能如下功能:1)存放客户选好的图书2)可以随时改变是否要购买3)可以随时改变购买的数量 4)可以显示目前购物车中的图书的金额处理逻辑。在购物车信息显示页面中,将显示客户所选的图书信息,在该页面中,客户可以指定选购数据量,也可以将对应商品从购物车中删除。此外,在该页面中也可以返回数目显示页面继续购物,或者清空整个购物车。如果用户确定购物车信息后,可以单击【提交订单】,进入订单确认页面,选择送货方式以及付款方式。下面是购物车程序流程图,如下图所示:图12 购物车程序流程图5.1.6 订单管理模块实现根据客户购物车中的商品信息,以及客户

33、所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。(1)cookie信息及数据库准备生成订单是购书者购书的最后一步了。为了将图书送到客户手中,必须要求客户输入自己的信息(包括送货信息)本次在处理购书信息时采用cookie保存客户的注册信息,还有一些客户的信息在填写订单时一并完成的。购书结帐时会涉及到多个数据表的操作,如es_book表、es_order表、es_orderItem表。(2)处理逻辑在该页面中,客户可以依据表单提示,选择送货方式和付款方式,确认对应选择后,单击【确认】进入订单确认页面。客户确认订单对应的信息后,再单击【生成订单】,将生成客户这次购

34、买图书的订单。如果成功则跳转到订单成功生成页面,一次购物过程基本完成,如单击【返回购物车】则可以继续选购其他图书。下面是生成订单流程图,如下图所示:图13 生成订单流程图本模块是系统的核心,主要负责订单的审查,是订单的流程最后一个环节,也是最重要的一个环节。书店的任何数据都和订单数据有直接或者间接的关系,有效的订单和书店的经济利益有直接的关系,收入和支出都是由订单引起的。程序当中也严格限制数据的有效性,无效数据不会录入到数据库中。5.1.7 添加图书模块该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。该页面具有权限,只有管理员可以进

35、入,普通客户没有此权限。(1)数据库准备图书管理模块的目的是为了实现网上书店中图书信息的添加,修改及删除。该操作涉及到es_bookshop数据库中的es_book数据表和es_category数据表。(2)数据处理逻辑该页面进入时会弹出登录对话框,只有正确的管理员姓名和密码才可进入。进入页面后,管理员可以根据书店的图书情况对所有图书进行添加,修改或删除。下面是图书管理流程图,如下图所示:图14 图书管理流程图5.1.8 图书查询模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,

36、以便客户能更详细的了解所购买的商品。主要分为两大部分,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到es_booshop数据库中的 es_book数据表。下面是图书展示设计流程图,如下图所示:图15 图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。在一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。

37、数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es_bookshop数据库中的es_book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开es_book数据表,并按照用户指定的方式和关键字信息将es_book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信

38、息时只需输入部分信息即可。5.2 数据库设计5.2.1 数据库的需求分析依据网上书店的处理需求,对应数据表的设计及功能如下:(1)买家表:存放书店客户的基本信息。(2)图书分类表:存放网上书店所提供图书分类的信息。(3)图书表:存放网上书店所销售图书的基本信息。(4)订单表:存放与客户相关的订单的基本信息。(5)订单项表:存放订单中订单项的基本信息。5.2.2 数据库的逻辑设计根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图所示:Es_useruserId bigint loginName varchar(128) pas

39、sword varchar(32) email varchar(128) nickName varchar(128) question varchar(128) answer varchar(128) addressId varchar(32),address varchar(128) telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigintlastModifiedTimestamp big

40、intEs_bookbookId bigint bookName varchar(128) author varchar(128),number int,originalPrice Decimal(10,2) realPrice Decimal(10,2) publisher varchar(256)description text coverImagePath varchar(256) createdTimestamp bigint lastModifiedTimestamp bigint categoryId bigint Es_orderorderId bigint orderNo va

41、rchar(128) status smallint description varchar(128) amount Decimal(10,2) number int createdTimestamp bigint lastModifiedTimestamp bigint userId bigint receiptAddressId bigintEs_categorycategoryId bigint superior bigint booksNum bigintcategoryName varchar(128) createdTimestamp bigint lastModifiedTime

42、stamp bigint lastModifierId bigintlastModifierName varchar(128)orderNo int Es_orderItemorderItemId bigint number int amount Decimal(10,2) orderId bigint图16 数据库逻辑图其中图书表中的分类编号“categoryId”与图书分类表中的“categoryId”为相关字段。订单表中的“orderId”与订单项表中的“orderId”是相关字段,而订单表中的“userId”与买家表中的“userId”相关。5.2.3 创建数据表脚本在基本的数据表的结

43、构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。(1)买家信息表:create table es_user(userId bigint auto_increment primary key not null,loginName varchar(128) not null unique,password varchar(32) not null,email varchar(128) unique,nickName varchar(128) comment 昵称,question varchar(128) comment 密保问题,answer varcha

44、r(128) comment 密保答案,addressId varchar(32),address varchar(128) comment 记录省市,telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigint not null,lastModifiedTimestamp bigint not null);(2)图书分类表:create table es_category(categoryId

45、 bigint auto_increment primary key not null,superior bigint,booksNum bigint,categoryName varchar(128) not null unique,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,lastModifierId bigint,lastModifierName varchar(128),orderNo int);(3)书籍信息表:create table es_book(bookId bigint au

46、to_increment primary key not null,bookName varchar(128) not null,author varchar(128),number int,originalPrice Decimal(10,2) comment 原价,realPrice Decimal(10,2) comment 实价,publisher varchar(256),description text comment 简介,coverImagePath varchar(256) comment 封面图,createdTimestamp bigint not null,lastMo

47、difiedTimestamp bigint not null,categoryId bigint not null comment 所属分类);(4)订单表:create table es_order(orderId bigint auto_increment primary key not null,orderNo varchar(128) comment 订单号,status smallint not null comment 1、未付款;2、等待发货;3、已发货;4、已收货,description varchar(128) comment 订单描述,amount Decimal(10,2) comment 总额,number int not null

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号