版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 太原理工大学专 科毕业论文题题 目目 基于 JSP 的图书管理系统 学院专业班级姓名指导教师2011 年 9 月太原理工大学毕业设计(论文) -I-摘摘 要要随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。图书管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查和研究,开发了此图书馆管理系统。本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试过程。本系统使用 JSP 进行网页界面的设计,使用 MVC
2、设计模式,采用开源框架Struts、Hibernate 和 Spring 进行开发。后端的数据库采用 Oracle,通过 JDBC驱动和数据库进行无缝连接。系统实现了用户登录、图书管理、借书证管理、图书借阅管理等功能模块。用户登录模块实现用户的登录和权限判定;图书管理模块实现了对图书的添加、删除、修改、查询等功能;借书证管理模块实现了对学生的添加、删除、修改、查询等功能;图书借阅管理模块实现了学生对图书的借阅、还书和所借图书的查看等功能。测试结果表明,本系统实现了图书馆图书管理的主要功能,基本满足图书管理的需要。关键词关键词:图书馆,图书管理系统,JSP,STRUTS,HIBERNATE,SP
3、RING.太原理工大学毕业设计(论文) -II-目 录1 1绪绪 论论 .1 11.1目前图书馆管理系统存在的问题 .11.2系统设计的目的和意义 .11.3开发工具及相关技术介绍 .31.3.1 SSH 框架.31.3.2 Tomcat .32 2可行性分析可行性分析 .4 42.1技术可行性 .42.2经济可行性 .52.3操作可行性 .53 3需求分析需求分析 .6 63.1图书馆管理系统需求概述 .63.2功能需求 .63.2.1 与读者相关的基本功能元素 .63.2.2 与管理员相关的基本功能元素 .73.2.3 总体系统的基本功能元素 .73.3性能需求 .73.4 运行需求.84
4、 4系统设计系统设计 .9 94.1 图书馆管理系统设计指导思想和原则.94.2设计模式 .94.3 图书馆管理系统总体功能概述.104.4 图书馆管理系统各功能模块概述.114.4.1 系统登录模块 .114.3.2 图书管理模块 .124.3.3 学生管理模块 .134.3.4 借阅信息管理模块 .144.3.5 图书检索模块 .164.4 系统数据库设计.175 5系统实现系统实现 .22225.1系统的软件结构 .22太原理工大学毕业设计(论文) -III-5.2登录系统模块的实现 .225.3图书管理模块的实现 .245.3.1图书入库功能的实现 .245.3.2图书维护功能的实现
5、.255.4学生管理模块的实现 .295.4.1学生添加功能的实现 .295.4.2学生维护功能的实现 .305.5借阅信息管理模块的实现 .335.5.1办理图书借阅功能的实现 .335.5.2办理图书归还功能的实现 .345.6图书检索模块的实现 .355.7系统设计的创新点 .365.7.1系统后台管理的安全性 .365.7.2DAO 数据访问接口.376 6系统测试系统测试 .38386.1系统测试的方法与步骤 .386.2模块测试 .386.2.1 登录模块测试 .386.2.2 图书管理测试 .396.2.3 学生管理测试 .396.2.4 借阅信息管理测试 .406.3 评价.4
6、07 7 结束语结束语 .4242致致 谢谢 .4343参考文献参考文献 .4444太原理工大学毕业设计(论文) -1- 1 1绪绪 论论1.11.1目前图书馆管理系统存在的问题目前图书馆管理系统存在的问题(1)检索速度慢、效率低因为图书馆的藏书种类多。数量大,将藏书准确的分门别类,快速检索,手工进行非常困难,往往是终于查到了二维的信息,馆中却没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。(2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期,遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且
7、经常会出现这样那样的差错。(3)图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性的进行,藏书的知识结构得不到良好地控制。我校也是一所发展中的高校,近几年的发展速度很快,图书馆的规模和藏书的数量也在不断地扩大,为了解决海量图书的管理问题,以及学生借阅图书的信息问题,改变传统的管理方式也就成了迫在眉睫的问题了。1.21.2系统设计的目的和意义系统设计的目的和意义随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚
8、至是书店,在正常运行的过程中总是面对大量的读者信息,书籍信息以及太原理工大学毕业设计(论文) -2-两者相互作用产生的借书信息,还书信息。因此需要对读者资源,书籍资源,借书信息,还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速地满足读者的要求,提高各种工作效率,现对其设计相应的系统,以达到上述的目的。图书馆管理系统的主要功能是实现图书馆图书的借阅和归还的管理自动化,图书新增及销毁的及时化,用户及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:借阅管理,归还管理,图书管理,学生管理。除了
9、这些核心功能外,还包括一些基本和辅助的功能,它们是:图书信息管理,查询功能等。该系统设计的主要目标是:设计一个图书馆管理系统,该系统主要功能分为图书查询、图书借阅归还和图书管理三大部分。在图书查询模块中要求用户能在浏览器中分别书名、著译者、类型等条件查询;在图书管理模块中要求能完成如办理借书证(即添加新的学生)、新书录入、借书还书登记、图书修改等日常管理功能。(1)网站前台设计:前台供学生使用,学生登录后有如下权利图书查询:用户可以按多种方式对图书库中的图书进行查询;借阅信息查询:用户可以查看自己的历史借阅信息。(2)网站后台设计:后台是供管理员使用的,管理员登陆后有如下权利 办理借阅证:将学
10、生信息填写完整,在数据库中注册新用户;书籍的录入及删除:可以对现有图书库中的图书进行删除,也可以添加新太原理工大学毕业设计(论文) -3-书;借书还书登记:普通用户借阅或归还图书时,管理员将在借阅信息表中添加相应的记录;图书修改:管理员可以对现有图书的详细信息进行修改。1.31.3开发工具及相关技术介绍开发工具及相关技术介绍1.3.1 SSH 框架SSH 框架是指 Struts2 + Hibernate + Spring 三大开源框架技术,用 SSH 技术进行开发,能够提高开发效率,层次清晰。Struts2 实现页面的设计和请求的跳转调用业务逻辑;Hibernate 实现对数据的增删改查;Sp
11、ring 通过依赖注入控制对象的生成和事务的处理。1.3.2 TomcatTomcat 服务器是 Apache Group Jakarta 小组开发的一个免费服务器软件,适合于嵌入 Apache 中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat 服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。太原理工大学毕业设计(论文) -4-2 2可行性分析可行性分析 采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高校的发挥最大的作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性如下:2.12.1技术可行性技术可行性
12、 Struts 框架为开放者提供了一个统一的标准框架,它提供了一个方法,可以在一个 Web 应用程序中一起使用 JSP 和 Servlet。 Struts 框架本身是使用 Java Servlet 和 JavaServer Pages 技术的一种 Model-View-Controller(MVC)实现。它的目的是要解决完全由 JSP 或完全由 Servlet 实现的应用程序中的固有的问题。 MVC 方法采用了 JSP 和 Servlet 方法的最佳特性,使这两种技术可以协同工作。明确的是,Servlet 是处理层(控制器) 。Servlet 接收请求,很像 Model1架构中 JSP 页面所
13、做的那样,并确定如何满足那些请求。这就意味着,Servlet控制输入的请求和输出的回应。商业逻辑体现了 MVC 架构中的模式。商业逻辑代码为页面做处理。如果进入 Servlet 的请求是一个数据库查询,Servlet 就将这个请求传送到一个 SQL 调用或类似的数据库代码。在某种意义上,架构的模式部分是让应用程序处于领先地位的全部原因。 JSP 页面是显示层(视图) ,是用户与应用程序交互的地方。它提供输入并显示结果。页面不应该包括任何脚本。它只是将数据传送到 Servlet,并接收和显示返回的数据。 该架构的优势应该是很明显的。首先,它将计算和显示清楚地分开了。结果太原理工大学毕业设计(论文
14、) -5-很理想,在 JSP 页面上没有出现处理过程,在 Servlet 或商业逻辑中没有数据格式。这种分离的另一个好处是 Java 程序员可以专注于 Servlet 代码,HTML 编写者可以专注于 JSP。第二点,控制器 Servlet 做页面上的所有的决定。在你的页面和逻辑中不会出现任何决策。这就提高了一个应用程序的性能和可扩展性,因为请求可以被导向架构的不同的组件,甚至是不同的服务器。另外 Struts 技术支持广泛:Struts 作为目前最流行的框架,技术资料众多,即使是一些很偏的问题也可以在网上找到相关的资料和答案。完善的标签库:与其他框架比较,Struts 提供了最完善的标签库,
15、为 Web 的开发带来了极大的方便。开发工具支持:目前所有主要的 Java IDE 都支持 Struts 的开发,有不少专用的开发工具和插件还提交了 Struts 的可视化设计,这是其他框架所不可比的。本系统采用的技术均属当前流行的开发技术,具有技术成熟、效率高、稳定、安全等优点,并且自行配置的兼容机性能优越,能够支持以上软件的运行。所以,本系统在技术上是完全可行的。2.22.2经济可行性经济可行性 根据成本/效益分析法,本系统所需的软硬件资源都已具备,该系统简单易懂,本系统具有成本相对较低、利益高的特点,经济上可行。2.32.3操作可行性操作可行性 本系统开发的开发宗旨是以便捷为中心。开发后
16、的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理太原理工大学毕业设计(论文) -6-本系统,它的操作简单的特点使本系统在操作上可行。太原理工大学毕业设计(论文)-7-3 3需求分析需求分析3.13.1图书馆管理系统需求概述图书馆管理系统需求概述图书馆管理系统的开发主要涉及到图书的管理,学生信息的管理,借阅信息的管理三大功能的数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括:添加新进图书、删除旧图书、修改图书信息。系统用户管理包括:修改用户信息、办理新用户、注销用户。读者数据管理主要包括:读者借阅信息
17、的管理,借阅图书以及归还图书。图书借阅者的需求是查询图书室所存的图书。个人借阅情况以及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书管理人员的功能最为复杂,包括对图书借阅者、图书进行管理和维护、以及系统状态的查询和维护等。图书馆管理员可以浏览、查询、添加、删除、修改的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息;浏览、查询、添加、删除和修改图书的借阅信息。3.23.2功能需求功能需求在本系统中,对读者来说,他们关心的问题其实是如何方便的查询到图书馆中的书籍以及自己正在借阅或者已经借阅过一些什么书籍,也就是借阅历史,
18、另一个关心的问题就是所借阅的图书是否到期等等。由此可以得出系统一些需求。3.2.1 与读者相关的基本功能元素(1)图书查询:应该能够按照图书不同信息对图书进行查询,如书名、作者、图书类型等条件查询。太原理工大学毕业设计(论文)-8-(2)读者信息查询,读者信息的查询内容应包括以下几个方面:读者信息对读者的基本信息进行显示。书刊借阅对该读者借阅书籍记录进行查询。欠款查询对该读者超期图书的欠款情况的查看。3.2.2 与管理员相关的基本功能元素在面向系统的管理员来说,应注意如下几点:(1)图书馆中有哪些书籍,是否可以被借阅;(2)对学生的添加、修改和删除操作的方便性;(3)查看学生都借阅着哪些书籍;
19、(4)对书籍的添加、修改和删除操作的方便性。3.2.3 总体系统的基本功能元素从以上问题出发,可以得出本系统应该具有的功能:(1)图书查询对馆内的图书进行查询;(2)借阅管理对读者的每一次借阅,还书进行登记和管理;(3)图书管理对图书馆的书籍进行管理,添加、删除以及修改信息;(4)学生管理对学生进行管理,添加、删除以及修改信息;(5)欠款情况管理对读者借阅图书超期欠款的情况进行管理。3.33.3 性能需求性能需求3.3.1 人身和环境安全性需求(1)系统中的软件不构成对人身健康的损害;(2)系统中的软件失效时不造成财产的损失;太原理工大学毕业设计(论文)-9-(3)系统中的软件失效时不造成环境
20、的破坏。3.3.2 可靠性和可用性需求(1)系统中的软件可以每天使用 24 小时,每年使用 365 天;(2)系统中的软件故障率小于等于 5%。3.3.3 容错性需求用户输入错误信息时,系统应提示,不应崩溃。3.3.4 易用性软件适合 12-70 周岁的智力、视力、体力和肢体正常且具有图书借阅相关知识的人使用;3.3.5 易学性经过 1-2 天培训的使用者可以正常使用本软件。3.43.4 运行需求运行需求3.4.1 预期的物理环境(1)系统在常温环境下使用;(2)系统在洁净的室内使用。3.4.2 预期的技术环境(1)宽带网、1M 以上宽带互联网;(2)台式计算机:CPU P4 2.0G 以上,
21、内存 256M 以上,硬盘 40G 以上,10M/100M 网卡,Windows 2000/2003/NT/XP/Vista/Windows 7 中文操作系统;(3)数据库管理系统:Oracle 9g 及以上。太原理工大学毕业设计(论文)-10-4 4系统设计系统设计4.14.1 图书馆管理系统设计指导思想和原则图书馆管理系统设计指导思想和原则(1)利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而到达充分利用现在资源提高系统开发水平和应用效果的目的。(2)系统应该符合软件工程开发的理论,开发方法等开发依据。(3)系统应满足图书馆管理工作的需要,并达到操作过程中的直观,方便,实用,安全
22、,准确等要求。(4)系统应具备数据库维护功能,及时根据用户需求进行数据库的各种操作。(5)系统采用原型,实用模块化程序设计方法,便于系统功能的各种组合和修改,以及系统的测试与维护。(6)图书馆管理系统的设计应适合校园的发展。(7)图书馆管理系统的设计应当遵循数据库设计规范。4.24.2 设计模式设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种广泛流行的软件设计模式 MVC。MVC(ModelViewController)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用
23、的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。太原理工大学毕业设计(论文)-11-Model抽象系统应用功能;处理业务逻辑;数据持久化View抽象数据表达;表示针对用户的数据;Contronller定义应用系统的行为将用户请求映射到模型更新;选择视图作为对请求的回应;更新状态查询调用请求选择视图图图 4-14-1 MVCMVC 模式模式MVC 模式的出现,很好的解决了传统开发 WEB 应用方式中存在的问题。M 代表模型(Model),包含完成任务所需要的所有的行为和数据;V 代表视图(View)界面,现实
24、模型提供的数据;C 代表控制器(Controller),它将模型映射到界面中,处理用户的输入并相应请求。其模型的关系如图所示。在 MVC 模型中,三层各尽其职、相互独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应该操作的耦合度,也能更好的实现开发中的分工,加速工程进度。4.34.3 图书馆管理系统总体功能概述图书馆管理系统总体功能概述图书管理系统包含五个模块分别是:系统登录、图书管理、学生管理、借阅信息管理、图书检索。系统登录模块:一般用户和管理员都必须登录才能进入系统,用户登录时在后台判断用户的权限类型,分为普通用户和管理员,普通用户可以对书籍进行浏览及个人借阅信息的查
25、询,管理员可以对多种信息进行操作。太原理工大学毕业设计(论文)-12-图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行添加,删除、修改图书信息、查询、查看等一系列的操作。学生管理模块:管理员可以在此模块中创建新的普通用户,并且可以对用户的信息进行修改,删除等操作。借阅信息管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为普通用户办理借阅图书,归还图书的功能,并且能够实现还款的操作。图书检索模块:普通用户通过验证界面进入系统后,能够按照书名,作者等多种条件对图书进行查询操作,确保查询到的都是最新的信息。整体系统的功能模块如图 4-2 所示:图书馆管
26、理系统登录系统模块借书证管理模块图书管理模块借阅信息模块图书检索模块图图 4-24-2 图书馆管理系统功能图图书馆管理系统功能图太原理工大学毕业设计(论文)-13-4.44.4 图书馆管理系统各功能模块概述图书馆管理系统各功能模块概述4.4.1 系统登录模块用户进入系统时调用的一个模块。该模块根据用户输入的用户名、密码来判断用户的类型,跳转到该类用户的界面。本模块的功能点包括:(1)判断用户名和密码是否相符;(2)根据用户的权限类型,登录到系统的制定界面操作使用。登录功能模块流程图如图 4-3 所示:开始显示登录界面是否存在用户管理员界面结束是否是管理员用户界面YNNY图图 4-3 登录模块流
27、程图登录模块流程图4.3.2 图书管理模块在本模块中图书馆工作人员可以对图书进行管理操作。本模块的功能点包括:(1)新书入库,将新进图书按其类型将图书的基本信息录入系统数据库; 太原理工大学毕业设计(论文)-14-(2)图书出库,某一部分图书会随着时间的增长及知识的更新而变得不再有收藏的价值,或者图书被损坏,这些图书就要在图书库中除去。即从图书库中删除此图书记录;(3)新书编码,图书入库后,需要贴上条形码,以便以后提供借阅,本系统不涉及到条形码阅读器,只是假定此过程已经生成条形码。编码只是将条形码帖于书上以唯一标识图书;(4)图书信息修改,图书信息由于工作人员的疏忽,而出现录入错误,提供其图书
28、 ID 就可以查看图书的基本信息并对其进行修改;图书管理功能模块流程图如图 4-4 所示:图书管理是否成功新书入库图书信息修改图书出库是否成功是否成功入库成功页面修改失败页面修改成功页面出库失败页面出库成功页面入库失败页面NYNNYY开始结束图图 4-4 图书管理模块流程图图书管理模块流程图4.3.3 学生管理模块本模块主要是工作者对学生信息(读者借书证信息)进行管理。本模块的功能点包括:太原理工大学毕业设计(论文)-15-(1)办理借书证,为新读者办理借书证,填写用户基本信息;(2)注销借书证,输入读者借书证编号,根据借书证 ID 删除读者表中此借书证信息;(3)挂失借书证,主要是将借书证的
29、状态改为挂失,更新读者表状态字段,有图书管理员操作;(4)修改图书证信息,由于工作人员的疏忽,而出现办理借书证时录入信息有误,则可根据借书证编号对其信息进行查看和修改。借书证管理功能模块流程图如图 4-5 所示:借书证管理是否成功借书证办理读者信息修改借书证注销图书证挂失是否成功是否成功办理成功页面修改失败页面修改成功页面注销失败页面注销成功页面办理失败页面NYNNYY是否成功挂失失败页面挂失成功页面NY开始结束图图 4-54-5 借书证管理模块流程图借书证管理模块流程图4.3.4 借阅信息管理模块本模块主要是工作者对图书外借和归还进行管理。本模块的功能点包括:太原理工大学毕业设计(论文)-1
30、6-(1)图书借阅,记录借阅证编号和图书编号,进行借书过程。在数据库中插入一天借书记录,该记录包括图书 ID、借书证 ID、借阅日期、归还日期等;(2)图书归还,输入借书证编号,图书编号,根据输入的编号在借阅登记表中找到相应的记录,将借阅记录删除,并将该记录相应的数据更新到历史借阅记录信息表中;(3)查看借阅记录,可以根据借书证 ID 以及图书 ID 查询借阅记录。(4)办理还款,如读者有图书超期的情况将会有欠款,可以根据借书证的ID 来为读者班里还款。借阅信息管理功能模块流程图如图 4-6 所示:太原理工大学毕业设计(论文)-17-借书信息管理办理借阅办理还款归还图书填写借书证编号和图书编号
31、是否存在编号填写借书证编号和图书编号是否存在借阅记录归还成功归还失败是否已经借阅借阅失败借阅成功填写借书证编号是否存在编号是否有欠款还款失败还款成功YNYNNNNYYY开始结束图图 4-6 借阅信息管理模块流程图借阅信息管理模块流程图4.3.5 图书检索模块使用该模块的用户有:读者和管理员。本模块的功能点包括:(1) 根据图书 ID 进行检索;(2) 根据图书名称进行检索;太原理工大学毕业设计(论文)-18-(3) 根据图书类型进行检索。(4) 根据图书作者或译者进行检索。图书检索功能模块流程图如图 4-7 所示:图书检索根据图书ID查询根据书名查询根据类型查询根据作者查询是否检索到图书图书列
32、表提示页面YN开始结束图图 4-7 图书检索模块流程图图书检索模块流程图4.44.4 系统数据库设计系统数据库设计4.4.1 概念结构设计(1)实体图学生:学生属性有学号、姓名、密码、性别、学院、班级、电话、email、宿舍、地址、已借书数量、创建日期。学生实体图如图 4-8 所示:学生学号创建日期已借书数量地址宿舍email电话班级学院性别密码姓名太原理工大学毕业设计(论文)-19-图图 4-8 学生实体图学生实体图图书:图书属性有图书编号、书名、作者、类别、单价、出版社、出版日期、总数量、当前数量、购买日期、内容摘要。图书实体图如图 4-9 所示:图图 4-9 图书实体图图书实体图(2)E
33、R 图根据以上实体图,分析了各个实体的属性,根据这些属性,可以得到系统的ER 图,如图 4-10 所示1nnn学生图书图书编号内容摘要购买日期当前数量总数量出版日期出版社单价类别作者书名属于班级借书日期太原理工大学毕业设计(论文)-20-1n图图 4.8 系统系统 E-R 图图4.4.2 逻辑结构设计根据上述功能模块的需求,设计如下主要数据库表:表表 4.1 图书信息表图书信息表(t_book)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空Book_numBook_num图书编号Varchar2(15)主键否Book_nameBook_na
34、me书名Varchar2(20)否WriterWriter作者Varchar2(10)否Sort_idSort_id类加 IDVarchar2(5)否表表 4.14.1 图书信息表图书信息表(t_book) 续表续表 0101PricePrice单价Number(5.2)是Pub_companyPub_company出版社Varchar2(20)是Pub_datePub_date出版日期Date是Total_numTotal_num总数量Number(3)否借阅图书学生属于还书日期超期罚款太原理工大学毕业设计(论文)-21-Current_numCurrent_num当前数量Number(3)
35、否Buy_dateBuy_date入库日期Date否BriefBrief内容摘要Varchar2(100)是表表 4.24.2 学生信息表学生信息表 (t_student)(t_student)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空Student_numStudent_num学号Varchar2(15)主键否Student_nameStudent_name姓名Varchar2(10)否PasswordPassword密码Varchar2(20)否Academy_idAcademy_id学院 IDVarchar2(10)否Class_
36、idClass_id班级 IDVarchar2(10)否SexSex性别Varchar2(2)是TelephoneTelephone电话Varchar2(15)是EmailEmailEmailVarchar2(20)是Lended_numLended_num已借书数量Number(2)默认为 0否Create_dateCreate_date创建日期Date否表表 4.34.3 借阅信息表借阅信息表(t_book_studentt_book_student)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空IdIdID 号Varchar2(35)
37、主键否Book_idBook_id图书编号Varchar2(15) 否Student_idStudent_id学号Varchar2(15)否太原理工大学毕业设计(论文)-22-borrow_dateborrow_date 借书日期Date否return_datereturn_date 还书日期Date否MoneyMoney超期罚款Number(5.2)否表表 4.44.4 管理员表管理员表(t_admint_admin)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空Admin_idAdmin_id管理员 IDNumber(5)主键否Admi
38、n_nameAdmin_name管理员姓名Varchar2(10) 否Admin_passwordAdmin_password管理员密码Varchar2(20)否表表 4.54.5 学院表学院表(t_admint_admin)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空Academy_idAcademy_id学院 IDVarchar2(10)主键否Academy_nameAcademy_name学院名Varchar2(30) 否表表 4.64.6 班级表班级表(t_classt_class)字段英文名称字段英文名称字段中文名称字段中文名称
39、字段类型字段类型字段约束字段约束是否可为空是否可为空Class_idClass_id班级 IDVarchar2(10)主键否Class_nameClass_name班级名Varchar2(30)否Academy_idAcademy_id所属学院 IDVarchar2(10) 否太原理工大学毕业设计(论文)-23-表表 4.74.7 图书类别表图书类别表(t_admint_admin)字段英文名称字段英文名称字段中文名称字段中文名称字段类型字段类型字段约束字段约束是否可为空是否可为空Sort_idSort_id类别 IDVarchar2(5)主键否Sort_nameSort_name类别名Var
40、char2(20) 否太原理工大学毕业设计(论文)-24-5 5系统实现系统实现5.15.1系统的软件结构系统的软件结构处理静态 WEB 是由 Web 浏览器向 Web 发送静态页面, Web 服务器直接对发送的静态网页进行处理。处理动态 WEB 数据库查询的过程是:当 Web 浏览器向 Web 服务器发送请求时,动态网页的处理流程是,屏蔽掉 HTML 语言,只输入动态网页文件,由 Web 服务器向数据库中传递信息,经过数据库的处理返回数据集,Web 应用服务器再把含有程序代码的动态网页转换为静态网页返还给 Web 浏览器。这就是用动态网页对数据库进行查询并将数据返还给浏览器处理的全过程,具体
41、见图 5-1 所示。数据库Web浏览器Web浏览器Web服务器 应用程序服务器发送请求返回响应查询数据返回数据集图图5-1数据库查询示意图数据库查询示意图5.25.2登录系统模块的实现登录系统模块的实现本模块主要是用户通过图书馆管理系统的首页进入该系统。用户输入正确的用户名和密码,如果登录信息有错误,则系统提示登录错误信息,并且禁止系统太原理工大学毕业设计(论文)-25-用户进行任何操作。若登录信息正确,系统会根据用户的身份进行相应权限的判断,读者进入前台系统,管理员进入后台系统。图书馆系统登录主页面如图 5-2所示。图图 5-2 图书馆管理系统登录界面图书馆管理系统登录界面其实现的代码如下:
42、Action 层:public String login() boolean flag = iss.login(admin);if(flag) return success; message = 用户名或口令错误!;return fail;Service 层:public boolean login(TAdmin admin) TAdmin a = isd.login(admin);if(a != null) return true;return false;Dao 层:public TAdmin login(TAdmin admin) Session session = this.getHi
43、bernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(from TAdmin a where a.adminName 太原理工大学毕业设计(论文)-26-= ? and a.adminPassword = ?).setString(0, admin.getAdminName().setString(1, admin.getAdminPassword();TAdmin a = (TAdmin)q.uniqueResult();return a;5.35.3图书管理模块图书管理模块的实现的
44、实现图书管理模块主要分为图书入库、查看图书、统计图书,其中图书入库是往图书管理数据库中添加图书信息。看图书功能中可以查看图书详细信息,并对图书信息进行修改或删除某些废弃图书信息。5.3.1图书入库功能的实现点击添加图书功能,填写图书基本信息,为图书选择类型,类型是与数据库交互动态生成的下拉列表,具体界面如图 5-3 所示。图图 5-3 图书入库界面图书入库界面其实现的代码如下:public String addInfoBook() this.sortList = ibs.listBookSort();太原理工大学毕业设计(论文)-27-return add;public List listBo
45、okSort() return this.getHibernateTemplate().find(from TSort tsort);public String addSaveBook() ibs.saveBook(book);book = null;bookList = this.listBook();return Book;public void saveBook(TBook book) Date now = new Date();book.setBuyDate(now);book.setCurrentNum(book.getTotalNum();ibd.saveBook(book);pu
46、blic void saveBook(TBook book) this.getHibernateTemplate().save(book);5.3.2图书维护功能的实现点击图书维护功能,展示所有图书的信息列表,在每个图书信息行后提供删除和修改操作功能,并且可以单击选定某一个图书信息后的详细信息进行详细查看图书信息。具体图书列表界面如图 5-4 所示图图 5-4 图书列表界面图书列表界面其实现的代码如下:public String listAllBook() bookList = this.listBook();return Book;public List listBook(TBook boo
47、k, Page page) String hql = from TBook tb where 1=1;if(book!=null) 太原理工大学毕业设计(论文)-28-if(book.getBookNum() != null & !.equals(book.getBookNum().trim() hql = hql + and tb.bookNum = + book.getBookNum()+;if(book.getBookName() != null & !.equals(book.getBookName().trim() hql = hql + and tb.bookNam
48、e = + book.getBookName()+;if(book.getWriter() != null & !.equals(book.getWriter().trim() hql = hql + and tb.writer = + book.getWriter()+; if(!book.getSortId().getSortId().trim().equals(-1) hql = hql + and tb.sortId.sortId = + book.getSortId().getSortId()+;hql = hql + order by tb.bookName; else h
49、ql = hql + order by tb.buyDate desc;Session session = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(hql);q.setFirstResult(page.getStartRow();q.setMaxResults(5);List list = q.list();return list;(1)删除图书功能的实现管理员删除图书,删除时可删除一个,也可同时多选删除,其实现的代码如下:public String
50、deleteOneBook() ibs.delBookById(bookNum);bookList = this.listBook();return Book;public String deleteMoreBook() ibs.delMoreBook(bookNums);bookList = this.listBook();return Book; public void delBookById(String bookNum) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TBook.class, boo
51、kNum); public void delMoreBook(String bookNums) 太原理工大学毕业设计(论文)-29-for(int i=0; ibookNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TBook.class, bookNumsi); (2)修改图书信息功能的实现在管理员修改图书信息时,跳转到图书信息详细表单中,列出所要修改图书的详细信息,并可以进行修改,则修改界面如图 5-5 所示。图图 5-5 修改图书信息界面修改图书信息界面其实现的代码如下:
52、public String modifyInfoBook() this.sortList = ibs.listBookSort();book = ibs.queryOneBookById(bookNum);return modifyInfo;public String modifySaveBook() ibs.modifyBook(book);book = null;bookList = this.listBook();return Book;太原理工大学毕业设计(论文)-30-public TBook queryOneBookById(String bookNum) TBook book =
53、 (TBook)this.getSession().createQuery(from TBook tb where tb.bookNum = ?).setString(0, bookNum).uniqueResult();this.getSession().close();return book;public void modifyBook(TBook book) this.getHibernateTemplate().update(book);(3)查看图书详细信息功能的实现在管理员点击详细信息时,跳转到某图书信息详细表单中,列出所选图书的详细信息,则显示界面如图 5-6 所示。图图 5-6
54、 图书详细信息界面图书详细信息界面其实现的代码如下:public String infoDetailBook() book = ibs.queryOneBookById(bookNum);return Detail;public TBook queryOneBookById(String bookNum) TBook book = (TBook)this.getSession().createQuery(from TBook tb where tb.bookNum = ?).setString(0, bookNum).uniqueResult();this.getSession().close
55、();return book;太原理工大学毕业设计(论文)-31-5.45.4学生管理模块的实现学生管理模块的实现学生管理模块主要分为添加学生、查看学生、修改学生,查看学生的详细信息。 5.4.1学生添加功能的实现点击添加学生,填写学生基本信息,具体界面如图 5-7 所示。图图 5-7 办理借书证界面办理借书证界面其实现的代码如下:public String addInfoStudent() this.academyList = iss.listAllAcademy();return add;public void addStudent(TStudent student) Date now =
56、 new Date();student.setCreateDate(now);student.setLendedNum(0);太原理工大学毕业设计(论文)-32-isd.saveStudent(student);public List listAllAcademy() return this.getHibernateTemplate().find(from TAcademy ta);public List listAllClass() return this.getHibernateTemplate().find(from TClass tc);public void saveStudent(
57、TStudent student) this.getHibernateTemplate().save(student);5.4.2学生维护功能的实现点击学生维护功能,展示所有读者的信息列表,在每个读者信息行后提供删除和修改操作功能,并且可以单击选定某一个读者信息后的详细信息进行详细查看读者信息。具体读者列表界面如图 5-8 所示图图 5-8 读者列表界面读者列表界面其实现的代码如下:public String listAllStudent() studentList = this.getStudentListByPage();return Student;public List listAll
58、Student(Page page) Session session = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(from TStudent ts);q.setFirstResult(page.getStartRow();q.setMaxResults(5);List list = q.list();return list;(1)删除学生功能的实现管理员删除读者,删除时可删除一个,也可同时多选删除。太原理工大学毕业设计(论文)-33-其实现的代码如下:
59、public String deleteOneStudent() iss.deleteOneStudent(studentNum);studentList = this.getStudentListByPage();return Student;public String deleteMoreStudent() iss.deleteMoreStudent(studentNums);studentList = this.getStudentListByPage();return Student;public void deleteOneStudent(String studentNum) thi
60、s.getHibernateTemplate().delete(this.getHibernateTemplate().get(TStudent.class, studentNum);public void deleteMoreStudent(String studentNums) for(int i=0;istudentNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TStudent.class, studentNumsi);(2)修改学生信息功能的实现在管理员修改学生信息时,跳转到学生信息详细表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届云南省峨山彝族自治县峨山一中高三下学期联合考试数学试题含解析
- 浙江七彩阳光联盟2025届高考适应性考试数学试卷含解析
- 湖师范大学附属中学2025届高考仿真卷英语试卷含解析
- 2025届江苏省如东县高三3月份第一次模拟考试语文试卷含解析
- 2025届吉林省吉林大学附属中学高考语文四模试卷含解析
- 《保额销售实战剧本》课件
- 《solidworks 机械设计实例教程》 课件 任务1.2 SolidWorks 2022操作界面认知
- 湖北省襄阳市东风中学2025届高考语文押题试卷含解析
- 山东省济南二中2025届高考压轴卷数学试卷含解析2
- 2025届江苏省徐州市睢宁高级中学高三第六次模拟考试语文试卷含解析
- 2023-2024学年浙江省富阳市小学数学四年级上册期末通关题
- 2023-2024学年浙江省瑞安市小学数学三年级上册期末自测试题
- NB/T 10743-2021智能化综采工作面验收规范
- 完井基础知识
- GB/T 20984-2022信息安全技术信息安全风险评估方法
- 服务类验收单(模板)
- 天津市河西区2021-2022六年级语文上册期末试卷
- 逻辑学导论 超星尔雅 视频答案及课后答案
- 1866人类与社会 小教本 国家开放大学机考 题库及答案
- 【课件】资源枯竭型城市的转型发展+课件2022-2023学年高二地理人教版(2019)选择性必修2
- 《论文技术哲学》课件
评论
0/150
提交评论