java图书管理系统.doc_第1页
java图书管理系统.doc_第2页
java图书管理系统.doc_第3页
java图书管理系统.doc_第4页
java图书管理系统.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常州信息职业技术学院 毕业设计(论文)报告 常州信息职业技术学院 学生毕业设计(论文)报告系 别: 计算机(软件)学院 专 业: 软件技术(欧美外包) 班 号: 软件英语101 学 生 姓 名: 李亮 学 生 学 号: 0908233117 设计(论文)题目: 图书管理系统 指 导 教 师: 朱利华、闾枫 设 计 地 点: 常州信息职业技术学院 起 迄 日 期: 2012.10.30-2013.5.25 目录摘 要1Abstract2第一章 绪论31.1毕业设计主要任务31.2课题来源和意义31.3论文的工作和安排3第二章 图书管理系统需求分析52.1 可行性分析52.1.1技术可行性52.1.2经济可行性52.2 图书管理系统需求概述52.2.1系统目标52.2.2用户类型和用户特性52.3 图书管理系统需求模型62.3.1 功能结构图62.3.2功能描述7第三章 总体设计83.1 数据库设计83.1.1数据库设计概述83.2数据表物理视图83.2.1管理员信息表结构设计83.2.2用户信息表结构设计93.2.3图书信息表结构设计93.3 ER图10第四章 程序设计与编码114.1开发平台与工具114.1.1 J2SE平台114.1.2 开发系统所有工具114.2 总体架构设计114.3 各系统功能模块详细设计114.3.1系统管理员和用户的登录模块:114.3.2管理员信息增、删、改、查模块:124.3.3普通用户信息增、删、改、查模块:134.3.4图书信息增、删、改、查模块:134.3.5最新动态添加和删除模块:144.3.6用户登录前台后功能操作模块:154.3.7退出系统模块:154.4 模块整体架构设计164.4.1 页面设计174.4.2数据库链接设计284.4.3 模型端设计314.4.4控制端设计34第五章、软件测试365.1软件测试的方法与步骤365.2测试用例设计与测试用例的运行过程及测试结果分析375.2.1模块测试37第六章 总结38参考文献39致谢39摘 要图书管理系统是现在学校图书馆必不可少的系统。随着数字化信息技术的普及,将一些先进的信息技术结合运用到图书管的管理和服务中。促进图书馆各部门之间协调工作,提高图书馆的工作效率是本系统的开发目的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的数据信息管理。现今,有很多的图书馆都是初步的开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式都是基于文本、表格等纸介质的手工处理,由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,所以图书管理系统的开发显得尤为重要。本系统使用到的开发工具是MyEclipse, 它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。使用Photoshop、Dreamweaver、Fireworks网页制作软件进行界面设计,使用SQL Server 2000建立数据库。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。实现图书管理员对图书的分类、录入和新进图书的基本操作,对图书借阅情况的查询和对系统的维护等。本系统中包含7个功能模块:系统管理员和用户的登录模块;管理员信息增、删、改、查模块;普通用户信息增、删、改、查模块;图书信息增、删、改、查模块;最新动态添加和删除模块;用户登录前台后功能操作模块;退出系统模块。关键词:图书管理系统、信息技术、 MyEclipse、J2SE、Photoshop、Dreamweaver、FireworksAbstractThe library management system is an essential system for school library today. With the popularize of the digital information technology, some advanced information technology are combined with the management and service of library. To promote the work between every apartment, to improve the working efficiency and to reflect the inventory of library and the borrowing clearly are the purpose about developing such a system.As a kind of collecting and distributing center of information resources, library contains a great number of data about the large number of material of library and user borrowing. Nowadays, theThere are many libraries just start or even not use computers to manage information. Based on the survey, the author gets that the main way to manage information is dealt manually with paper text and paper forms and so on. For the statistics and verification of borrowing are checked manually, as well as the borrowing privileges and days. Checking manually has many problems, not only the large workload but also range of data which make mistakes easily, are lost easily and are difficult to find. Totally speaking, many libraries are short of systematical and normative management measure.Although some libraries has computers, they are not used for information management. There are many idle resources, so it is vital to develop the library management system.The system use MyEclipse which adopted the newest technology of software at the present. The newest one has many features included high efficient development, flxible design and beautiful software interface. The system will be designed by Photoshop、Dreamweaver、Fireworks and build database through SQL Server 2000.The system solves many usual basic problems in school library management services and relevant statistical work. It makes the basic operation of library classification and new entry of new books as well as query for book lending and maintenance for system come true. The system contains six functions in module: admin login, audience management, library management, library circulation, the system queries and system maintenance.Keywords:library managemoloent system、information techngy、MyEclipse、Photoshop、Dreamweaver、Fireworks 第一章 绪论1.1毕业设计主要任务1.实现图书管理员对所藏图书的按类别、书名等多方面的添加、修改等管理。2.建立图书馆读者数据库,方便工作人员对读者进行添加、修改和删除等管理。3.实现新书订购管理,方便管理员订购新书和验收新书。4.实现图书管理系统的系统维护,方便管理员更改口令和对用户的添加、删除和修改的管理。1.2课题来源和意义图书管理系统是现在学校图书馆必不可少的系统。随着数字化信息技术的普及,将一些先进的信息技术结合运用到图书管的管理和服务中。促进图书馆各部门之间协调工作,提高图书馆的工作效率,清晰反映图书的库存与读者的借阅情况,是本系统的开发目的。随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息。因此需要对读者资源、书籍资源等相关信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。图书管理系统的主要功能是实现管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:查询图书,新书订购,图书信息查询的网络外链等。除了这些核心功能外,还包括一些基本和辅助功能,它们是:管理员登录、读者管理、图书信息管理等。1.3论文的工作和安排本次设计的目标是,促进图书馆各部门之间协调工作,提高图书馆的工作效率,清晰反映图书的库存与读者的借阅情况,规范化的管理读者用户,设定不同用户权限,实现图书管理员对图书的查询,添加,修改和删除等,方便读者的使用,最终达到提高图书馆资源利用效率。论文设计实现了图书馆管理系统,可以根据管理员的工作安排,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分:第一章即本章绪论,简述图书管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。 第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析。 第二章 图书管理系统需求分析2.1 可行性分析采用现代化统一的计算机信息系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下:2.1.1技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Java开发出友好的人机界面,便于用户理解、操作。使用MyEclipse作为开发工具,使用方面、规范性强。数据库管理系统采用SQL Server 2000,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。2.1.2经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此该系统在经济可行性上是可行的。2.2 图书管理系统需求概述2.2.1系统目标该系统主要建立一个基于C/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1.对于管理员在本系统的应用下可实现按照各种方式(如:书名,出版社,作者)查询图书馆的藏书清单,添加图书和对读者归还图书,借阅图书情况查询等;2.对于图书馆工作人员能够便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作;3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作。2.2.2用户类型和用户特性图书借阅管理系统是一个基于C/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,读者通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。用户的具体描述如下表所示:表1.1 用户描述用户类描述图书管理员图书管理员是该系统的一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理查询等操作,实现对系统中读者情况的增加,修改,删除,查询,信息更改维护等基本操作。系统管理员系统管理员主要是图书馆管理系统中对用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改维护等操作。2.3 图书管理系统需求模型 2.3.1 功能结构图本图书管理系统可以供两种不同用户进行登录,这两类用户为管理员登录和普通用户登录,管理员和普通用户登录需要进行系统检测数据库中是否存在登录用户信息,如果有的话可以登录成功,否则登录失败。管理员登录成功后可以进行的操作主要有图书信息的增、删、改、查,管理员信息的增、删、改、查,普通用户信息的增、删、改、查与内部动态与行业链接的维护与更新。普通用户登录后可以进行系统图书信息浏览、内部动态与行业链接浏览,如果用户在浏览系统的时候遇到问题可以及时反馈给系统管理员,方便及时解决问题。 功能结构图 如图1所示:图1 功能结构图2.3.2功能描述用户和管理员登录功能可以选择系统用户或者管理员角色登录系统,管理员进入系统后台,普通用户进入系统前台。图书信息的增、删、改、查功能:管理员可以进行图书信息的添加、修改、删除、一般查询、模糊查询、分类查询等操作。用户信息的增、删、改、查功能:管理员可以对已经注册的用户信息进行修改、删除或者新用户注册操作,同时也可以进行用户的信息查询功能。管理员信息的增、删、改、查功能:管理员可以对存在的管理员信息进行添加、修改、删除及按管理员用户名查询功能。最新动态的添加、删除、浏览功能:管理员可以进行最新动态的添加、修改、删除,用户进入前台后可以进行最新动态的浏览。显示欢迎登录用户名的功能:管理员或者用户登录后可以在系统的主页上显示“您好,*我们又见面了!”。(*为登录者的用户名);图书封面超链接详细信息功能:点击图书封面图片可以链接到网页查询该图书相关的详细信息。退出系统的功能:点击系统页面“退出”按钮可以退出系统。第三章 总体设计3.1 数据库设计3.1.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个系统所包括的信息有图书信息、读者信息、管理员信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1.图书信息(图书编号,类目,书名,作者,ISBN号,出版社,出版日期, 价格,封面,数量,备注);2.用户信息(编号,用户名,密码,性别);3.管理员信息(编号,用户名,密码);3.2数据表物理视图3.2.1管理员信息表结构设计该表的设计用于记录图书管理系统管理员的信息,方便对管理员的管理,表中包括用户ID 和管理员的登录密码,表的具体结构设计如表1所示:表1 系统管理员信息表 admin字段名称数据类型字段长度可否为空说明idint2No(Key)编号namechar10No用户名passwordchar10No密码3.2.2用户信息表结构设计用户信息表的设计是为了对用户进行管理,其中读者ID,都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件和地址信息是为了与读者进行联系,用户拥有独立的用户名和用户密码,可以供系统用户登录本系统使用。用户的一些特殊的信息可以在备注中记录。表的具体结构设计如表2所示: 表2 读者信息表 userinfo字段名称数据类型字段长度可否为空说明idint4No(Key)用户编号usernamenchar20No用户名userpasschar10No 用户密码sexnchar10No性别emailchar30No邮箱addressnchar100No地址userbzchar50Yes备注3.2.3图书信息表结构设计图书信息表主要用于存储图书的相关信息,其中的相关信息是在图书入库时由图书管理员进行添加完善,此表主要用于读者和图书管理员对存储图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。图书信息表如表3所示:表3 图书信息表 bookinfo字段名称数据类型字段长度可否为空说明idint4No(Key)图书编号categorynchar20Yes 类目booknamenchar50Yes书名authornchar50Yes 作者isbnchar20Yes ISBN编号publishernchar20Yes 出版社pubdate datetime8Yes 出版日期pricesmallmonery4Yes 价格picturevarchar50Yes 封面numberint4Yes 数量bznchar200Yes 备注3.3 ER图E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。本系统ER图中管理员的属性主要有姓名和密码,图书信息主要对应属性为封面、数量、ISBN号、作者、图书名、图书类别、出版日期、价格、备注、出版社。系统管理员的对应属性为姓名和密码。用户信息对应属性为用户名、密码、性别、电子邮件、地址、备注。系统管理员和图书信息的增、删、改、查对应关系为多对多(m:n);系统管理员和管理员信息的增、删、改、查对应关系为多对多(m:n);系统管理员和用户信息的增、删、改、查对应关系为多对多(m:n);本系统ER图如图2所示:图2 ER图第四章 程序设计与编码4.1开发平台与工具4.1.1 J2SE平台J2SE是Java 2 standard edition是Java2的标准版,主要用于桌面应用软件的编程,Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。4.1.2 开发系统所有工具系统开发平台和工具如表4所示: 表4 系统开发平台和工具工具名称用途JDK 1.6.0MyEclipse SQL Server 2000LJava 开发工具包J2EE集成开发环境中小型关系数据库管理系统 4.2 总体架构设计书店管理系统是基于Web浏览器和Web服务器的B/S系统。在总体设计中,确定了本系统的网页模块和功能模块之间的交互流程,网页模块为用户提供可执行操作的Web界面,并且在一定程度上优化了页面,使用ps进行了页面美工的设计,为用户提供了一个美观、精致、友好的客户端页面。每一个系统功能模块的规划也在总体设计中逐步改善和完成,每一个模块都独自完成对应的功能,和数据库的交互过程贯穿功能执行的始终。系统的登录设计可以供系统管理员和普通用户选择相应的权限登录,并进行各自权限内的操作。4.3 各系统功能模块详细设计4.3.1系统管理员和用户的登录模块:系统管理员或者普通用户登录系统时可以选择相应的角色进行登录。角色选择以下拉列表显示。登录模块的流程图如图3所示:图3 登录模块的流程图4.3.2管理员信息增、删、改、查模块:该模块是对管理员信息进行添加、修改、删除功能操作。管理员信息增、删、改、查操作流程图如图4所示: 图4 管理员信息增、删、改、查操作流程图4.3.3普通用户信息增、删、改、查模块:该模块是对管理员信息进行添加、修改、删除、查询功能操作。管理员验证登录成功后进入ht.jsp页面进行用户信息的管理工作。用户信息增、删、改、查操作流程图如图5所示:图5 用户信息增、删、改、查操作流程图4.3.4图书信息增、删、改、查模块:该模块是管理员登录成功后进入ht.jsp页面对图书信息进行添加、修改、删除、查询功能操作。其中查询操作有:分类查询、精确查询、模糊查询(书名查询)等不同的查询方式。图书信息增、删、改、查操作流程图如图6所示:图6 图书信息增、删、改、查操作流程图4.3.5最新动态添加和删除模块:该模块是由管理员进入后台后对最新动态进行添加,修改和删除及行业链接(当当网)操作,用户进入前台后只能对最新动态进行浏览。最新动态操作流程图如图7所示: 图7 最新动态操作流程图4.3.6用户登录前台后功能操作模块:该模块是由普通用户进入系统前台后对最新动态浏览,信息反馈(联系管理员),行业链接、图书浏览等操作用户登录前台操作流程图如图8所示:图8 用户登录前台操作流程图4.3.7退出系统模块:该模块通过页面添加链接(/BookShop1.1/login/login.jsp)方式执行退出系统,返回登录页面(login.jsp)操作。退出系统流程图如图9所示:图9 退出系统流程图4.4 模块整体架构设计根据客户需求和模拟系统的特点,本系统包含了以下模块:l 登录验证模块l 管理员信息增删改查模块l 用户信息增删改查模块l 图书信息增删改查模块l 最新动态添加、修改、删除模块l 用户浏览图书、浏览最新动态模块l 快速退出模块。 登录验证模块支持管理员和用户选择相应的角色方能成功进入到本系统的总功能首页,使用本系统提供的相应功能。管理员进入系统后台能够对管理员、图书、用户信息进行相应的增、删、改、查核心功能操作附加功能,如:最新动态的链接添加、最新动态内容的修改和删除操作,行业链接的修改或删除操作。用户进入系统前台后可以进行有限的操作,如:图书浏览,最新动态的浏览,如果有疑问或者建议,可以通过联系系统管理员反馈给系统管理员。为了方便用户和管理员的退出系统,因此在每个系统页面都添加了“退出”按钮,供管理员和用户方便的退出系统。为了更人性化的增加系统功能,在系统前台和后台都实现了一个欢迎登录者的功能,其原理是从登录页面获得并保存登录者的用户名信息,在前后台主页面获得保存在session中的用户名,并显示在页面上。本系统还有另外一个比较新颖的功能:点击图书封面,可以直接链接百度页面进行该图书的信息搜索,原理是从数据库中取出书名,然后加在百度链接搜索地址的后面,可以方便的对图书进行快速搜索。4.4.1 页面设计登录模块页面:登录信息输入区域用户名:密码:角色选择:登录重置系统名称/logo系统版权说明系统版权说明最终登录模块页面效果:系统功能主页面:Hello ,Enjoy Your Time ! 欢迎进入书店管理系统后台系统版权说明 您好,*我们又见面了!退出您可以进行如下操作 管理员信息管理 Js特效 用户信息管理 图书管理 内部动态系统功能主页面采用的PS高清图片为背景,图片分为head.jsp、left.jsp、 main.html三个部分,页面布局主要使用CSS+Div进行定位,在主页面添加了图书360度环绕展示JS特效,并在动态展示的图书封面上添加了图书搜索查询的超链接。最终系统功能主页面效果:1.添加管理员信息页面添加管理员信息页面可以为管理员进行注册2.查询管理员信息页面查询管理员信息页面可以对已注册管理员进行信息检索,通过条件筛选可以检索出相应管理员信息。3.修改和删除管理员信息页面修改和删除管理员信息页面提供管理员信息查询结果,在此页面内可以进行查询出来的信息进行修改或删除操作。4.管理员信息修改页面执行删除操作,如果成功直接删除管理员信息;如果修改信息,则返回修改信息页面。5.新用户注册页面新用户注册页面可以提供新用户注册功能。用户注册成功后跳入注册成功页面,失败则跳入注册页面。6.用户信息查询页面用户信息查询可在下拉列表中选择按用户名,按性别,按地址分类查询用户信息。7.用户信息修改和删除页面执行删除用户操作,如果成功直接删除用户信息;如果修改信息,则返回修改信息页面修改信息从预修改中获取在页面上。8.用户信息修改页面用户信息修改页面可以对用户信息进行修改。9.新书入库页面新书入库页面可以为新书入库提供图书相关信息录入,完成后即可把相关数据存入数据库中。10.图书信息查询页面图书查询可在下拉列表和高级检索中进行精确查询、模糊查询、分类查询,并显示查询结果的数量。11.图书信息的修改和删除页面:执行删除图书操作,如果成功直接删除图书信息;如果修改图书信息,则返回修改信息页面修改信息从预修改中获取在页面上。12.图书信息修改页面图书信息修改页面可以对已入库的图书信息进行修改保存。13.图书详细信息查询页面点击图书封面,可以链接至百度搜索,直接搜索该图书的详细信息。14.内部动态页面点击链接可以浏览相应的网页内容15.动态浏览页面最新动态展示部分使用了iframe框架,使信息展示能够在主体右侧部分局部刷新显示。16.行业链接页面行业链接页面点击后进入当当网,可以帮助用户了解更多最新最全面的图书资讯,为用户推荐更好的浏览体验。17.用户登录前台页面用户登录系统后会在系统头部进行自动获取登录者信息,并把用欢迎用户登录显示在页面头部,右侧展示部分为js特效,图书封面360度环绕展示,点击图书封面则跳转至相应图书信息页面。18.图书浏览页面用户可以进行图书的分类查询,查询结果直接显示在页面上,点击图书封面可以链接进入百度网页进行图书详细信息的介绍。本功能的实现是在图书的每个封面图片从数据库取出后加入百度搜索链接,点击即可从百度搜索相关图书信息。19.联系管理员页面联系客服页面有系统管理员的个人相关信息,方便用户及时与管理员进行交流沟通4.4.2数据库链接设计package com.db;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.cfg.Configuration;/* * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see link /42.html . */public class HibernateSessionFactory /* * Location of hibernate.cfg.xml file. * Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. * The default classpath location of the hibernate config file is * in the default package. Use #setConfigFile() to update * the location of the configuration file for the current session. */ private static String CONFIG_FILE_LOCATION = /hibernate.cfg.xml;private static final ThreadLocal threadLocal = new ThreadLocal(); private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION;static try configuration.configure(configFile);sessionFactory = configuration.buildSessionFactory(); catch (Exception e) System.err.println(% Error Creating SessionFactory %);e.printStackTrace(); private HibernateSessionFactory() /* * Returns the ThreadLocal Session instance. Lazy initialize * the SessionFactory if needed. * * return Session * throws HibernateException */ public static Session getSession() throws HibernateException Session session = (Session) threadLocal.get();if (session = null | !session.isOpen() if (sessionFactory = null) rebuildSessionFactory();session = (sessionFactory != null) ? sessionFactory.openSession(): null;threadLocal.set(session); return session; /* * Rebuild hibernate session factory * */public static void rebuildSessionFactory() try configuration.configure(configFile);sessionFactory = configuration.buildSessionFactory(); catch (Exception e) System.err.println(% Error Creating SessionFactory %);e.printStackTrace();/* * Close the single hibernate session instance. * * throws HibernateException */ public static void closeSession() throws HibernateException Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) session.close(); /* * return session factory * */public static org.hibernate.SessionFactory getSessionFactory() return sessionFactory;/* * return session factory * *session factory will be rebuilded in the next call */public static void setConfigFile(String configFile) HibernateSessionFactory.configFile = configFile;sessionFactory = null;/* * return hibernate configuration * */public static Configuration getConfiguration() return configuration;4.4.3 模型端设计Admin实体类package com.admin.bean;/* * Admin entity. author MyEclipse Persistence Tools */public class Admin implements java.io.Serializable / Fieldsprivate Integer id;private String name;private String password;/ Constructors/* default constructor */public Admin() /* full constructor */public Admin(String name, String password) = name;this.password = password;/ Property accessors备注:部分代码Bookinfo实体类:package com.book.bean;import java.sql.Timestamp;/* * Bookinfo entity. author MyEclipse Persistence Tools */public class Bookinfo implements java.io.Serializable / Fieldsprivate Integer id;private String category;private String bookname;private String author;private String isbn;private String publisher;private Timestamp pubdate;private Double price;private String picture;private Integer number;private String bz;/ Constructors/* defa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论