版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
II数据库技术在图书管理中的应用研究内容摘要随着互联网技术和计算机技术的飞速发展,网络书店在技术手段、成本控制、定价战略等方面都具有优势。与此同时,因为互联网技术得到了迅速普及,网上书店经营模式亦逐渐引起重视。传统实体书店经营效率已经无法满足新发展需求,无法实现较好的盈利,提高经济效益。要解决这个问题,本文研究了如何利用数据库技术手段对传统书店进行改造,构建新型电子商务模式下的线上线下一体化书店。该系统的开发主旨在于借助先进技术手段,使传统书店能够更好地呈现于互联网平台之上,达到在线销售的目的,给传统书店带来更大经济效益。本文对图书营销管理体系进行了深入的分析和探讨,并给出了相应的对策。该系统以Java为开发平台,通过对现有JSP技术的改进,以SSM架构技术为基础,采用了IT企业的产品生命周期开发流程,即敏捷开发与持续整合,并运用软件工程技术,完成了图书管理系统的设计和开发。关键词:数据库技术;图书管理;Java目录TOC\o"1-3"\h\u19213内容摘要 I5149引言 180701概述 2166861.1课题研究背景及意义 2270071.2国内外发展及研究现状 2322181.3本文的主要内容及组织结构 3146742数据库相关原理与技术 4317472.1系统开发工具 4308702.2系统开发技术 423282.2.1JSP 421312.2.2B/S架构 5281722.2.3MySQL 6290742.2.4SSM框架 7276833图书管理系统相关原理与技术 8172703.1可行性分析 894943.2界面需求分析 8213373.3系统功能需求分析 9290163.4系统非功能性需求分析 9303254数据库技术在图书管理中的应用实践 11321304.1系统架构设计 11189724.2系统总体设计 1141514.3数据库设计 1116934.3.1概念模型设计 1292074.3.2数据库表设计 14312884.4系统实现 1673544.4.1系统前台功能模块的实现 16299084.4.2系统后台功能模块的实现 24244045结论 3229274参考文献 33引言数据库技术是随着大数据和云计算的发展而出现的一种新技术。数据库是在一定的数据结构基础上组织数据采集、存储和管理的大型仓库。数据库技术可以与计算机技术、网络通信技术、数据库技术等相结合,处理生产和生活中的海量数据,为人们的生活提供极大的便利。与传统的数据库技术相比,新的数据库技术具有数据存储容量大、类型多、管理效率高、使用方便、规模大、价值密度低的特点。由于现代社会科技的发展,电脑也逐渐成为人们日常办公、生活、学习的用品,人们对数据的需求也愈发广泛。数据库技术是依靠计算机来实现的,对各种数据进行高效的管理和存储,从而大大提高了系统的性能。由于数据库具有多种功能,能够有效地管理信息,提高计算机的性能,因此,在日常的商业活动中,数据库起着至关重要的作用。从总体上看,数据库技术并非是一个单一的体系结构,而是一个可以更好地实现实时信息共享的技术。通过对不同的输入和输出函数进行控制,使其具有多种方便。1概述1.1课题研究背景及意义在网络自身具备全球化、兼容性、扩展性和高效性的今天,传统的商业模式反映出的问题日益突出,原来的业务模式在网络的冲击下变得毫无竞争力。根据调查,在全国约2万个大中小国有公司中,约半数采用网络销售,有些公司已经建立了自己的公司官网和网络服务。“网上购物”是二十世纪最流行的一种消费形式,它被更多的人所接受和认识,在一定程度上占据了传统的消费市场。大多数的青年、公司职员和学生都曾在网络上购买过商品,他们当中大多数都有网购的习惯。随着网络的迅速发展,网络商城的市场占有率也越来越高。传统的零售业若不能抓住机遇,将面临新一波技术变革的洗牌。随着随者电脑技术和互联网技术的迅速发展,网络书店在技术手段、成本控制和定价战略等方面具有巨大的优越性。由于传统的实体书店经营效率已经不能满足新形势的要求,难以达到较好的利润和效益。此次的系统旨在利用现代科技,使网络上的传统书店更好地呈现出来,从而达到网上售卖的目的,最终为传统书店带来更多的利润。1.2国内外发展及研究现状中国的网购市场规模很大,由于其庞大的用户基础和潜在的国内电商市场,使得其在互联网上获得了较好的经济效益。近几年,全球互联网的飞速发展,中国的互联网行业也呈现出蓬勃发展的态势,网络书店也在科技进步的推动下快速成长,并逐渐形成了一种全新的图书零售方式。相对于传统书店,网络书店在科技革命中也有很多新的优势。网上书店打破了传统书店的图书零售的模式,采用互联网技术,大大减少了图书销售的中间环节,大大节省了人力、物力。并且能够以最快的速度提供大量的书目信息。与此同时,网上书店还能够消除传统书店的地域限制,在世界的任何地方,主要能够上网就可以到网上书店进行购物。网上书店使得图书销售行业发生了根本性的变革,给传统的图书销售行业带来了巨大的冲击。在发达国家,网上书店的规模和竞争优势已经非常明显,并逐步超越了传统书店,占据了图书市场。现在,全世界很多国家和地区的人都在使用互联网进行阅读和学习。比如美国,根据美国图书馆学会的数据,美国在线书店在2000年的销售额达到了340亿美元,占到了2000年全国图书销量的30%;2001年,在线书店的销售量达到一百二十亿,较2000年增加了百分之二十五。在电子商务方面,网上书店是一种非常有效的方式来销售网络书籍。与发达国家相比,目前国内的网上书店发展程度相对较低,但我国一些中小型书店,还有很大的发展空间。特别是以传统书店为依托的在线书店,存在着软硬件基础差、技术含量低、开发人员短缺等问题,如何设计出一款功能强大、个性鲜明的网络书店,是目前软件开发者亟待解决的问题。在信息越来越多的今天,网上书店的重要性也越来越大。因此,很多实体书店都在利用网络宣传书籍,销售书籍。本次网上营销系统的设计,从公司的现实意义出发,设计了一套网络营销体系,扩大了网上营销的市场,吸引了喜爱网上购物的用户,并为用户提供了更好的服务。1.3本文的主要内容及组织结构该系统的研制,可以为读者提供在线图书购买服务,也为商家提供了便利。该商城的主要功能是为管理者和使用者提供便利,真正实现了无纸经营的模式,更好地避免了商品的经济损失和时间的浪费。本课题的研究工作主要是依据所开发的程序来完成,并依据所述程序的内容对其进行说明。本论文分为四章对本课题进行详细说明:第一章,主要介绍了本系统的选题背景和意义及国内外研究现状。第二章,主要介绍了数据库相关原理与技术。第三章,主要介绍了图书管理系统相关原理与技术。第四章,主要介绍了本系统的总体结构、功能模块设计和数据库设计,展示本系统具体实现的内容。2数据库相关原理与技术2.1系统开发工具本系统使用的是Tomcat8.5服务器,使用的开发工具是IDEA,接下来对IDEA和Tomcat进行解释说明。(1)IDEA全称IntelliJIDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ是业内公认的最优秀的java开发工具,特别是智能代码助手,自动代码提示,重构,J2EE支持,Ant,JUnit,CVS集成,代码审查,创新的GUI设计。IDEA是捷克共和国布拉格的JetBrains公司的产品,该公司的开发者主要是东欧的程序员,他们是出了名的严格。(2)Tomcat作为Web应用程序服务器,不但可以自由使用,还可以使用源码。它的应用范围更广,适用于不太多的用户,属于一个轻量级的应用程序。它是JSP软件开发和JSP软件的最好选择。Tomcat服务器其实是Apache的一个延伸,但是在运行时是可以单独操作的。2.2系统开发技术本节对本系统主要的系统开发技术JSP、B/S架构、MySQL、SSM框架进行详细的解释说明。2.2.1JSPJSP是JavaServerPage的简称。这是某网页的构思,是Sun公司发起的,多个公司合作开发的网页。其目标是开发和设计动态页面。JSP具有Java导向的特性,能够让Web应用程序的工作人员能够进行大量的信息量、不依赖于运行平台的动态网页的设计与实现。JSP可以将使用者的UI与其上的内容相分离,使得网页设计员无需再更改其相关的网页,便可进行网页风格的设计。JSP具有如下显著的特征:(1)一次性的编写,在任何地方都能执行。JSP的JSP是根据JAVA的编程,能够在所有包含JVM的操作系统中使用。(2)采用了一套技术规格。在Sun公司的建议下,市场上许多公司共同制订了一套标准,得到了普遍的使用。(3)JSP的免费扩充。JSP能够利用Taglib所具有的功能对标签进行扩充,从而满足这些要求。(4)很高的执行力。JSP在编译到.class之后,只要对它进行一次编辑,就可以在没有更改的情况下多次地被利用。(5)各种功能齐全的开发工具。目前有许多JBuilder、MyEclipse等都是免费的,Java开发软件是JSP网页的基础。JSP可以通过Servlet和Jstl来进行更多的小软件的设计。2.2.2B/S架构B/S(浏览器/Server)的架构,又称为B/S架构。这是Web崛起以后的一种网络化模型,这让系统的发展、维护和使用都变得更加容易。因为这是一个将所有的核心功能都放到了服务器上的程序。开发人员可以在用户端上下载一个浏览器,再把SQLServer,Oracle,MySQL等数据库安装好,这样就可以让用户和数据库之间的数据进行互动。B/S体系结构的优势如下:(1)在不需要安装专用软件的情况下,能够在任何位置进行工作。在客户机上只需要一部能接入互联网的电脑就能运行。(2)Ajax技术在要求驱动下得到了进一步发展,它允许用户在客户机上进行一部分的操作,从而明显地降低了服务器的负载,同时可以实现本地的即时升级。(3)B/S体系结构结合了许多的浏览器指令集和ActiveX技术,它使用一种常见的浏览器来执行特定的、精密的软件来完成的任务,从而极大地降低了开发费用。Web软件是一种以B/S(Browser/Server)为基础的开发模式。B/S体系结构见于图2-1中。应答应答SQL请求应答请求应答请求Web浏览器1Web浏览器2部署项目的Web服务器(本系统为Tomcat)部署项目的Web服务器(本系统为MySQL)表示层应用层数据层图2-1B/S系统架构图2.2.3MySQL资料库(DB)是一个储存资料的仓库。为了方便存储和处理,数据库根据特定的规律将数据存储到磁盘中。数据库管理系统是一种以操作系统为基础的数据处理系统,它能够对各种类型的数据进行有效的控制,以确保整个数据库的安全性。通过构建数据库系统,可以高效地对数据进行高效的处理,并能有效地提升软件的开发速度。\o""MySQL是一种根据数据模式划分的\o""数据库管理\o""体系,属于(RDBMS)。MySQL\o""开放代码,使用简单、是易于学习的SQL。MySQL具有许多优势:(1)MySQL适合多个处理器。(2)能够在多种平台上执行MySQL。它还提供了Java、Perl、PHP、Python以及TCLAPI的功能。(3)MySQL在SQL中使用优质类库,它将会非常迅速地完成SQL的功能。(4)充分支援SQL的GROUPBY和ORDERBY,并支援COUNT()、COUNT(DISTINCT)、AVG、STD、SUM等。(5)利用MySQL建立一个系统数据库,它不但可以帮助整合前期的数据,还可以在以后的二次发展中进行数据扩充。(6)在有限的资料中,MySQL系统功能表现得很好。2.2.4SSM框架SSM框架包括Spring框架、SpringMVC框架以及MyBatis框架,这些都属于开放源码框架。Spring是Spring的两大技术关键,它包含了两大技术关键:逆向控制(IOC)和AOP(AOP),SpringMVC是Spring的继承者,该系统将控制器、模型物件、分配程式及物件分开,从而简化自定义控制。第三种体系结构MyBatis是一种持久的体系结构,它能够提供SQL查询,并且能够提供更多的存储流程,以及更多的数据。我们都知道,开发的软件很复杂而且很麻烦,所以Spring是一个轻量级,低入侵的设计。Spring让大部分Java程序获益,这不仅对开发的服务器有好处,而且对简单和测试流程也有好处。SpringMVC与许多其它网络架构类似,都是以MVC的概念为基础,另外,SpringMVC还使用了一种可扩展和可扩展的可插入式元件架构。SpringMVC允许POJO作为一个控制程序来处理一个要求,而不需要执行任何的界面,并且它还可以使用REST格式的URL。SpringMVC架构是以SpringMVC架构为中心的DispatcherServlet为主要指导和总策论,该服务用于拦截和分配这些要求到对应的处理器。SpringMVC是Spring系统中的Servlet的一部分。Mybatis的前身是Apache的开放源码架构iBatis,它和Hibernate是Java的持久性架构。Mybatis的优点是其灵活性,可以在提供界面设计的情况下取代JDBC。现在Mybatis的DAO(DataAccessObject)不要求有一个实践类别,仅要求界面和XML(或注释),并推荐通过注释来实施。Mybatis能够轻松地实现SQL的自动化、动态SQL、串连、缓冲、注释、编码以及SQL分隔等功能。由于其具有较小的封装、丰富的映象、对内存处理、SQL优化等特性,所以在Java网络中,Hibernate已经被替代,并被认为是最好的。本文以B/S模型为基础,以Java语言,HTML,JSP技术,SSM框架,MySQL作为数据库,Tomcat作为服务器,利用IDEA实现开发平台。
3图书管理系统相关原理与技术3.1可行性分析进行可行性分析,可以保证在最短的时间内,以最少的成本,来确保问题能否得到解决。因此,在开发该系统前,必须对其进行全面的分析与评价,从经济、技术、操作等方面进行综合分析,以判断该系统是否有发展的必要性,能否克服目前存在的问题,能否在规定的时间内完成。对该项目所涉及的系统进行的可行性分析程序如下:(1)经济可行性:该软件是用经济学的观点来衡量一个系统的价值,它可以根据系统的研发投资总额与预期的经济效益进行比较。因为系统的开发要求相对较低,软件和技术都是免费开放的,而且随着硬件的发展,软件和软件的投入也越来越少。更何况,这个站点在开发之前,就有了前人的经验,并且这个系统本身也不算太过复杂,因此开发起来也不需要太久。所以从经济上来说,这是一个很好的选择。(2)技术可行性:通过对系统实施过程中所使用的技术层面的分析,可以得出技术上的可行性结论。Java在上个世纪九十年代就诞生了,经历了20多年的发展,该系统开发的平台是安全的、稳定的,而且在Web应用开发方面也积累了大量的经验和技术。MySQL作为一种快速、快速的数据存储工具,Tomcat的性能非常稳定,而且开发人员的数量和质量都达到了标准,所以在技术上是可行的,并且在一定的时间里,开发工作基本上可以完成。(3)操作可行性:通过对用户的调研,了解用户的操作习惯,对网页及各功能模块进行了细致的设计,使得该系统操作简单,使用效率高。操作人员仅需一部电脑,便可在网页上输入网址,利用该网页进行购书,无须具备电脑专业知识,便可迅速掌握该系统的使用方法。所以,它在实际中是可行的。综上所述,该系统在经济、技术、操作等方面是可行的。3.2界面需求分析软件界面是人与电脑之间进行信息交流的载体,其质量是使用者充分发挥其作用的先决条件。目前,一个重要的衡量软件品质的标准是界面设计。主要有四个因素在界面需求分析中需要考虑:(1)界面元素一般情况下,一个使用者介面所包含的要素有:颜色,字体和字体的颜色与大小、布局、交互方式、功能布局、输入输出模式等等。(2)用户角色不同用户角色的登陆和操控界面是不一样的。(3)需求变化只有通过使用之后,用户才能了解到自己的设计和使用习惯,以及界面的元素是否能够满足他们的审美需求,进而提出更加清晰的要求。(4)界面原型要尽量缩短开发界面的时间,同时保证开发的界面能最大限度地满足用户的使用需求,必须充分利用基础登陆界面。通过使用基础登陆界面,引导用户对界面进行新的需求,从而获得最佳的界面效果。3.3系统功能需求分析本系统分为前台用户系统和后台管理员系统。1.对应用户的前台用户系统主要有以下几项功能:(1)注册登录:客户只要填写登记资料即可成为用户,登录后即可管理购物车并进行购书,而非登录者则是访客。浏览模块:用户可以浏览书籍的详情(如名称、图片、价格等)。查询模块:用户可以在键盘上输入关键词来查询书籍。(4)购物车模块:注册用户可以对购物车进行管理。把书籍放在购物车里,修改和删除这些书籍,下订单,浏览订购。2.对应管理员的后台管理员系统主要有以下几项功能:(1)图书管理模块:当管理员登录时,可以看到物品的类别和相关的资料。还可以对产品进行加、删、查等操作。(2)订单管理模块:管理员可以看到该订单的详细信息。(3)用户管理模块:系统管理员可以在后台查询用户的资料,包括用户名、密码等。也可以修改和删除系统的用户信息。(4)分类管理:管理员可以根据不同类别的书籍进行相应的管理。3.4系统非功能性需求分析系统的非功能性分析就是对信息的分析,而不是对功能结构的分析,一个系统的设计,包括逻辑、数据、页面、框架等,在确保功能的前提下,要确保信息的完整性、稳定性和工作能力。1、数据完整性。设计时要确保数据的完整性,不会出现无序的代码,并且将数据库中的所有信息都显示在最前面。2、网页漂亮,简洁。网页的设计直接影响到使用者的购物体验,必须确保网页的设计易于操作,让使用者快速熟悉并进行购物。3、逻辑性。系统的逻辑是不能出错的,从一到二,再到三,不能出现客户没下订单就直接进行付款操作的模式行为。4数据库技术在图书管理中的应用实践4.1系统架构设计B/S(也就是浏览器/业务),其界面的展示是在页面上进行的,而服务是在服务器上进行的,并经由浏览器将一个要求传送给客户,然后再向浏览器发送到浏览器,再通过浏览器界面来显示。B/S模型的使用,既克服了使用者在开发和使用时需要专门的软件的局限,又方便了许多。4.2系统总体设计基于上述各种设计的剖析,根据网站开发思路,将网站分为两个主要模块:前、后两个模块。访问者只能浏览一部分信息,而一旦登录,就能获得全部的授权,浏览、订购、订购,其中包括用户、图书、订单管理(订单信息的输入,删除,修改等)、作者、分类管理和维护。整个系统的功能性结构如表格4-1所示。图4-1系统功能结构图4.3数据库设计总之,数据库被用来为您选择的DBMS和业务系统提供最佳的存储模型。同时,还对表格的构造和关系进行了分析。要求解析:什么是资料、资料的性质;每个数据和特性都有什么特征。概念设计:在资料的基础上,在此基础上,结合以前的研究视角,对数据进行了系统的分析和数据库的构建,最后对整个体系进行了全面的分析和优化。逻辑学:利用E-R图表来建立一个数据库的逻辑性模型。维修最佳化:建立新的要求;最优的指标;分解大的表格。访问者只能浏览一部分信息,而一旦登录,你可以得到所有授权,浏览,订购和订购,它包含了使用者、书籍、定单管理(订购资料的录入、删除、修正等)、著者管理、分类管理、管理员管理、管理和维护。该体系的整体功能架构见表4-1。4.3.1概念模型设计在软件的开发过程中,数据库起着很大的作用,包含着整个系统所需要的所有数据,在进行数据库的设计时,通常都是先构建一个E-R的实体,再构建一个E-R的整体图形。(1)用户实体包含用户ID,用户名称,创建时间,用户E-R图表,具体见图4到2。图4-2用户实体图(2)管理器的E-R图如图4至3所示。图4-3管理员实体图(3)图书分类的本体论包括分类ID、分类名称和分类状况,其中E-R表格表示书籍分类。图4-4图书分类实体实体图(4)在图4至5中显示了图书的ER图表。图4-5图书实体图(5)作者的E-R图表显示在4-6中。图4-6作者实体图(6)在附图4至6中显示了定购实体E-R图表。图4-6订单实体图4.3.2数据库表设计概念化是为了反映出一个体系所必需的观念,即一个概念性的模式。该体系结构与资料库的逻辑结构无关,是一套与电脑无关的独立DBMS系统。以下是数据库中使用的数据库表格信息。(1)用户资料库表格,用于说明使用者在系统中的基础资料,包括使用者ID,使用者的姓名、密码、邮箱、性别、手机、头像和创建时间。正如表4-1所示。表4-1用户表(2)管理员资料库表格,用于说明管理员的资料,表格4-2显示了管理人员的表格。表4-2管理员表(3)书籍分类资料库,主要功能是对书籍分类的基础资料进行分类,包括分类ID、分类名称、分类状态等。在表格4-3中列出了书籍分类表格。表4-3图书类别表序号列名数据类型长度备注1bookType_idint11编号(主键不允许为空)2bookType_namevarchar255分类名3is_deleteint11状态(4)图书资料库表格,用于说明图书的基础资料,使用者的姓名、密码、邮箱、性别、手机、头像和创建时间。详情见表4-4。表4-4图书表序号列名数据类型长度备注1book_idint11编号(主键不允许为空)2book_namevarchar255图书名3bookType_idint11图书分类ID4author_namevarchar255作者名5book_imagevarchar255图书图片6book_pricevarchar255价格7book_numberint10图书数量8book_contentlongtext255图书内容9book_is_deleteint11状态10book_release_timedatetime0上架时间4.4系统实现4.4.1系统前台功能模块的实现(1)用户注册没有账号的用户只能以游客的身份在系统中浏览系统中的相关信息,不能进行购买等操作,如果用户想要在本系统中购买图书,需要注册一个账号,用户注册页面如图5-1所示。图5-1注册界面用户注册关键代码:@RequestMapping("/register")
@ResponseBody()
privateMapregister(Useruser,HttpSessionsession,HttpServletRequestrequest){
Map<String,Object>map=newHashMap<String,Object>();
Stringcode=(String)session.getAttribute("verifyCodeValue");
if(!user.getCode().equals(code)){
StringcodeNo="验证码错误";
map.put("codeErro",codeNo);
returnmap;
}else{
Stringrealpath=request.getServletContext().getRealPath("/fileUpload");
StringfileName=user.getImage().getOriginalFilename();
FiletargetFile=newFile(realpath,fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
System.out.println(targetFile+"创建成功");
}
StringpicUrl="http://localhost:8080/fileUpload/"+fileName;
System.out.println("访问图片的路径"+picUrl);
System.out.println(targetFile);
try{
user.getImage().transferTo(targetFile);
}catch(Exceptione){
e.printStackTrace();
}
user.setUserImage(fileName);
intresult=userService.addUser(user);
if(result==0){
StringregisterYes="注册失败,用户已经存在";
map.put("no",registerYes);
}
StringregisterYes="注册成功";
map.put("yes",registerYes);
returnmap;
}
}(2)用户登录已注册或已有帐号的使用者,可以使用登录键进行登入。在登陆页,使用者必须输入自己的账号和密码,然后由后台验证使用者账号与密码是否正确,若验证通过,则登录成功,若不能,则会出现模糊提示,登陆网页见图5-2。图5-2登录界面用户登录核心代码://登录@RequestMapping("/login")@ResponseBody()publicintlogin(UserAssistuserAssist,HttpSessionsession)throwsUnsupportedEncodingException{Map<String,Object>map=newHashMap<String,Object>();Stringcode=(String)session.getAttribute("verifyCodeValue");Stringstr=userAssist.getUserPassword();Stringmd5=DigestUtils.md5Hex(str.getBytes("UTF-8"));userAssist.setUserPassword(md5);userAssist.setUserTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));Useruser=userService.userLogin(userAssist);userService.updateLoginTime(userAssist);if(userService.userLogin(userAssist)!=null&&userAssist.getCode().equals(code)){session.setAttribute("user",user);return1;}elseif(!userAssist.getCode().equals(code)){return2;}else{return3;}}(3)图书搜索用户可以登录系统后可查看商品列表,在系统的顶部搜索栏中,可以输入检索关键词,查找书籍,见图5-3。图5-3图书搜索图书搜索关键代码:@RequestMapping("/selectByBookName")@ResponseBodypublicMap<String,Object>selectByBookName(ScreenBookscreenBook){System.out.println("32:"+screenBook.getPageSize());System.out.println("ds:"+screenBook.getPageNum());System.out.println("规划股:"+screenBook.getKeyword());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=bookService.selectKeyword(screenBook);System.out.println("遍历:"+pageList.getList().get(0));map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}(4)图书筛选用户可以登陆该系统,浏览该商品的相关信息,在该页面下面还有一个选项,可以根据书籍的价值和价格来进行分类,用户可以根据自己的需要,从书籍的价格和评分两个角度进行挑选,其界面图见图5-4。图5-4图书筛选图书筛选关键代码:@RequestMapping("/selectScreenBookDesc2")@ResponseBodypublicMap<String,Object>selectScreenBookDesc2(ScreenBookscreenBook,HttpServletResponseresponse){System.out.println("页面数:"+screenBook.getPageNum());System.out.println("条数:"+screenBook.getPageSize());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=bookService.selectScreenBook(screenBook);//图书信息记录总条数intsum=(int)pageList.getTotal();//图书页面总数量intpageSum=pageList.getPages();//当前页数intnumber=pageList.getPageNum();//把所有的值都封装到map里面map.put("pageList",pageList);map.put("sum",sum);map.put("pageSum",pageSum);map.put("numbers",number);returnmap;}(5)图书分类在页面的左侧,显示了书籍的分类清单,使用者可以根据自己的需要,进入其中寻找自己需要的书籍。图5-5图书分类图书分类关键代码:privateBookTypeServicebookTypeService;@RequestMapping("/selectAllBookType")@ResponseBodypublicMap<String,Object>selectAllBookType(IntegerpageNum,IntegerpageSize){PageInfopageList=bookTypeService.selectAllBookType(pageNum,pageSize);Map<String,Object>map=newHashMap<String,Object>();map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}@RequestMapping("/addType")@ResponseBodypublicintaddType(BookTypebookType){System.out.println("前端数据:"+bookType.getBookTypeName());bookType.setIsDelete(1);intresult=bookTypeService.addType(bookType);returnresult;}(5)查看图书详细信息当使用者选择一本书时,可以按下该书籍的具体内容,并在图5-6中显示了该书籍的详细资料。图5-6图书详细信息查看图书详细信息关键代码:@RequestMapping("/selectByBookId")publicStringselectByBookId(IntegerbookId,HttpServletResponseresponse,HttpServletRequestrequest,Modelmodel){response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("图书ID:"+bookId);BookAssistbookAssist=bookService.selectBookById(bookId);model.addAttribute("bookAssist",bookAssist);return"book/book-BookById";}(7)加入购物车用户在购买书籍时,可以将书籍加入到购物车中,在购物车内完成交易,其界面见图5-7。图5-7添加购物车添加购物车关键代码:@RequestMapping("/addOreder")
@ResponseBody
publicintaddOrder(OrderFromAssistorderFromAssist){;
orderFromAssist.setIsDelete(1);
System.out.println("e:"+orderFromAssist.getIsDelete());
intresult=orderFromService.addOrder(orderFromAssist);
returnresult;
}(8)图书购买当使用者选择购买一本书时,可以选择购买,只要填好收货地址,选择购买数量,付款即可完成购买,其界面图见图5-8。图5-8图书购买图书购买关键代码:@ResponseBodypublicintaddBought(OrderFromAssistorderFromAssist){orderFromAssist.setIsDelete(1);System.out.println(orderFromAssist);intresult=orderFromService.addBought(orderFromAssist);returnresult;}4.4.2系统后台功能模块的实现(1)图书管理管理员进入系统的后台管理,可以查看全部图书的目录,并进行添加、删除、修改等操作,显示的界面见图5-9。图5-9图书管理界面图书管理关键代码:@RequestMapping("/updateBook")@ResponseBodypublicintupadteBook(Bookbook,HttpServletRequestrequest,HttpServletResponseresponse){response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("这里是修改控制器。");Stringrealpath=request.getServletContext().getRealPath("/img");StringfileName=book.getMyfile().getOriginalFilename();System.out.println(fileName);FiletargetFile=newFile(realpath,fileName);if(!targetFile.exists()){targetFile.mkdirs();System.out.println(targetFile+"创建成功");}StringpicUrl="http://localhost:8080/img/"+fileName;System.out.println("访问图片的路径"+picUrl);try{book.getMyfile().transferTo(targetFile);}catch(Exceptione){e.printStackTrace();}book.setBookImage(fileName);System.out.println("这是图片上传:"+book.getBookImage());book.setBookReleaseTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));intresult=bookService.updateBook(book);returnresult;}@RequestMapping("/addBook")@ResponseBodypublicintaddBook(Bookbook,HttpServletRequestrequest,HttpServletResponseresponse){System.out.println("我来也!");response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("这里是修改控制器。");Stringrealpath=request.getServletContext().getRealPath("/img");//获取上传文件名字StringfileName=book.getMyfile().getOriginalFilename();System.out.println(fileName);//图片的全路径名(File对象)FiletargetFile=newFile(realpath,fileName);if(!targetFile.exists()){targetFile.mkdirs();System.out.println(targetFile+"创建成功");}StringpicUrl="http://localhost:8080/img/"+fileName;System.out.println("访问图片的路径"+picUrl);try{book.getMyfile().transferTo(targetFile);}catch(Exceptione){e.printStackTrace();}book.setBookImage(fileName);book.setBookIsDelete(1);System.out.println("这是图片上传:"+book.getBookImage());book.setBookReleaseTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));intresult=bookService.addBook(book);returnresult;}(2)订单管理在这个页面上,我们可以实现以下功能:查看用户订单,包括了营业总额、订单编号、用户的收货信息和商品信息;可以对订单执行删除操作。如图5-10所示。图5-10订单管理界面订单管理关键代码:@RequestMapping("/addBought")@ResponseBodypublicintaddBought(OrderFromAssistorderFromAssist){orderFromAssist.setIsDelete(1);System.out.println(orderFromAssist);intresult=orderFromService.addBought(orderFromAssist);returnresult;}(3)作者管理管理员用户进入作者管理页面,可以看到系统中所有图书对应的图书作者的相关信息,并且可以进行相应的搜索、删除等操作,如下图5-11所示。图5-11作者管理界面作者管理关键代码:@RequestMapping("/selectAllAuthor")@ResponseBodypublicMap<String,Object>selectAllAuthor(IntegerpageNum,IntegerpageSize){System.out.println("前端数据4546:"+pageNum);Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=authorService.selectAllAuthor(pageNum,pageSize);System.out.println("数据:"+pageSize);map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}@RequestMapping("/delAuthor")@ResponseBodypublicintdelAuthor(IntegerauthorId){System.out.println("删除数据:"+authorId);intresult=authorService.delAuthor(authorId);returnresult;}@RequestMapping("/selectKeywordName")@ResponseBodypublicMap<String,Object>selectKeywordName(AuthorAssistauthorAssist){System.out.println("你好世界:"+authorAssist.getKeyword());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=authorService.selectByNameAuthor(authorAssist);map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}(4)用户管理管理者可以通过用户管理界面进行查看所有的用户信息,并且可以根据提示对用户进行删除等操作,用户管理展示如图5-12所示。图5-12用户管理界面用户管理关键代码:@RequestMapping("/selectMyShoppingCarts")@ResponseBodypublicList<OrderFromAssist>selectMyShoppingCarts(Intege
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抽水试验合同范本
- 小学数学课堂生成式AI辅助教研活动可视化呈现与教学反思教学研究课题报告
- 2026年高考语文备考之成语典故及释义梳理辨析5(含历年真题)
- 流行音乐在初中生审美教育中的创新教学策略研究教学研究课题报告
- 基于知识管理的数字化教学团队知识共享与创新氛围构建研究教学研究课题报告
- 2025年迎峰度夏保电工作方案
- 2025年医保知识培训考试题库试题附答案
- 2026年高校教师资格证之高等教育法规考试题库及答案(网校专用)
- 湖北省孝感市事业单位人才引进秋季校园招聘879考试题库新版
- 2025年在线问诊资质分级报告
- 集装箱装卸协议合同
- 2025河北交通职业技术学院第二次招聘47人参考笔试试题及答案解析
- 2025商洛市直机关事业单位遴选(选调)(59人)(公共基础知识)测试题附答案解析
- 会计从业人员职业道德规范培训课件
- 2026春季学期学校工作计划
- 民间美术课件
- ECMO助力心肺移植
- 2025贵州遵义市大数据集团有限公司招聘工作人员及笔试历年参考题库附带答案详解
- 2025年居住区智慧化改造项目可行性研究报告及总结分析
- JJG646-2006移液器检定规程
- 湖南省长郡二十校联盟2025-2026学年高三上学期12月考试数学试卷
评论
0/150
提交评论