收藏 分销(赏)

基于J2EE技术的客户信息管理系统论文正文.doc

上传人:可**** 文档编号:2591357 上传时间:2024-06-01 格式:DOC 页数:46 大小:1.57MB
下载 相关 举报
基于J2EE技术的客户信息管理系统论文正文.doc_第1页
第1页 / 共46页
基于J2EE技术的客户信息管理系统论文正文.doc_第2页
第2页 / 共46页
基于J2EE技术的客户信息管理系统论文正文.doc_第3页
第3页 / 共46页
基于J2EE技术的客户信息管理系统论文正文.doc_第4页
第4页 / 共46页
基于J2EE技术的客户信息管理系统论文正文.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、邵阳学院毕业设计(论文)目 录摘要ABSTRACT第1章 概述2第2章 系统的目标和开发的可行性32.1 系统目标32.2 可行性分析3第3章 需求分析53.1 市场需求分析53.2 系统需求分析63.3 系统相关要求10第4章 系统设计194.1 系统功能设计194.2 系统数据库设计204.3 系统详细设计27第5章 系统测试375.1 软件介绍375.2 测试的作用和意义375.3 测试方法和测试内容375.4 测试结果和结论38第6章 系统维护396.1 软件系统运行维护396.2 影响维护工作量的因素40结束语42参考文献44致谢45附录46第1章 概述当今是飞速发展的信息时代,在各

2、行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。他的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。客户信息管理系统作为公司管理客户一个不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以客户信息管理系统能够实时关注客户的各种动态,以客户为中心,提高公司的效益。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保

3、密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对客户信息进行管理,具有着手工管理所无法比拟的优点。这些优点能够极大地提高客户信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。几年前,各公司的客户管理基本上都是靠手工进行,随着时间增长,客户的增加,各部分数据都明显加大,手工操作相当困难,作为一个大的企业,保存他原有的客户信息是很有必要的,作为挖掘新客户,留住老客户的重要依据,如果用

4、纸质档案来存储,花费的成本是很高的,而且很不方便,不宜查询和分析客户,所来看来,实现企业的信息化管理,依靠网络和计算机处理各种信息是迫在眉睫了。针对公司管理模型,根据软件工程的基本流程,开发一款这样的软件,实现公司管理的电子化,减轻管理人员的负担。借助计算机,管理人员能够很好的对现有的客户信息进行管理,方便了公司各层次的领导人,同时可以避免以前由于误操作而引起的错误。客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,公司决定实施客户信息管理系统。希望通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对大量客户数据分析,减少现有

5、客户的流失,提高新客户的开发能力。如何才能将一个企业与客户之间的信息管理好,这是一个十分迫切需要解决的问题,企业与客户之间的联系是时时刻刻都存在的,与客户之间保持良好的关系,应该是一个企业成功与否的一个前提,但是众多的客户,有着各自不同的信息,这就牵涉到许多的信息,开发这个系统是为了更好的处理这些信息。第2章 系统的目标和开发的可行性2.1 系统目标本系统是针对一个某个特定公司开发的一套针对性和功能性都较强的信息管理系统。本系统包括:用户登录和退出模块,客户模块,联系人模块,交往记录模块。另包括权限管理模块用于系统的用户、角色和相关权限。系统功能为本说明书与附件Demo版界面描述中功能的并集。

6、在上述文件未明确描述的情况下,应能满足合同和相关投标书所描述的功能。目标系统应当达到以下要求:(1) 可靠性: 能连续准确的处理业务,有较强的容错能力。(2) 可用性: 系统功能齐全,能够完全满足用户的需要。(3) 可维护性: 用户能对系统进行维护、扩充、修改。(4) 易用性: 用户能很容易的对系统进行操作。(5) 安全性: 保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密。(6) 跨平台性: 能够方便的移植到不同操作系统。2.2 可行性分析2.2.1 技术可行性在大学四年里学了很多计算机方面的理论知识,各种技术都涉及到了,毕业设计过程当中不仅可以把过去所学习的知识串接起来

7、,对在学校期间所学习的知识有个系统的了解,尤其是对于软件的开发设计过程有个明确的了解,在开发的工具使用方面的熟练度也有所提高。但缺乏一定的实践;大四我在专业方面进步了很多,尤其在做项目,在长沙牛耳实习的四个多月让我受益菲浅,学到了不少实践方面的内容,在本次毕业设计中涉及的技术,基本上都学过,所以完成此次设计,困难不是很大。2.2.2 经济可行性此系统采用sqlserver2000和java开发,主要的费用为sqlserver服务和开发人员费用和空间费用,在项目投入使用之后能节省大量的人力,物力,财力,同时也会带来许多直接和间接的效益,经估算,做为一个一般的公司大概在第三年就能开始盈利,为了公司

8、的长远利益,花费一定的资本和获取更多,相信每个老板都是愿意的,因此开发这个系统是可行的。2.2.3 操作可行性应用此系统的主要角色为:系统管理员,销售主管,客户经理,高管。作为公司的管理人员必须要有一定的水平,对计算机应当有一定了解,此系统提供人性化操作界面和优质文档,让操作人员一看就能明白,同时技术支持也会对操作人员进行一定的培训,不会出现由于用户不熟悉系统而造成无法投入进行的困难第3章 需求分析3.1 市场需求分析随着科学技术的发展,原来的信息管理方式已经过时,用软件管理是为了提高企业生产效率,提高经济效益的一种有效方式。市场需求主要包括以下几个部分:(1)信息分析能力客户信息管理系统有大

9、量客户和潜在客户的信息,企业应该充分的利用这些信息进行分析,使得决策者掌握的信息更加完全,从而能及时的作出决策。良好的商业情报是企业成功的一半。(2)对客户互动渠道进行集成的能力对多渠道进行集成与功能部件的集成是同等重要的。不管客户是与企业联系还是与销售人员联系,客户互动都应该是无缝的、统一的、高效的。同一的渠道还能带来内部效益的提高。(3)支持网络应用的能力在支持企业内外的互动和业务处理方面,Web的作用越来越大,这使得客户信息管理的网络功能越来越重要。如,网络可以为电子商务渠道提供支持。为了使企业雇员都能方便应用客户信息管理系统,需要提供标准化的网络浏览器,使得用户几乎不需训练就能使用系统

10、。(4)建设集中的信息仓库的能力采用集中化的信息、实时的客户信息,可使各业务部门和功能模块间的信息能统一起来。(5)对工作流进行集成的能力工作量是指把相关文档和工作规则自动化安排给负责特定业务流程中特定步骤的人。客户信息管理应具有较强的功能,为跨部门工作提供支持,使这些工作能动态的、无缝的集成。(6)与ERP功能的集成如果客户信息管理与ERP和财务、库存、制造、分销、物流和人力资源等连接起来,使之成为一个客户互动循环,这种集成能使企业在系统间搜集商业情报,而不是低水平的数据同步。3.2 系统需求分析客户信息管理系统作为管理企业与客户关系的主要管理系统平台,不仅要处理企业与客户之间的业务,还要处

11、理企业内部相关部门的业务。客户信息管理系统中不仅包含客户的信息资料,而且涉及市场竞争对手的情报资料。信息数据的来源是多种多样的,可以是本地数据库,也可以是异地数据库,甚至可以是E-mail、文本文件等。客户与企业、部门与部门、业务与业务、销售与市场及服务间复杂关系,导致客户信息系统中的数据不论是结构、类型还是彼此间的关联都是复杂多变的;对这种数据进行的处理也是多种多样的。因此,要实现对客户数据的及时、准确的处理和有效利用,就需要:(1)建立统一的信息编码系统;(2)设计能够良好反映事务特性的数据模型;(3)划分数据库类型,在分布式数据库管理系统和网络平台基础上,设计全局共享及局部共享数据库,以

12、支持分布式数据处理,实现各分系统之间及其内部各功能模块之间的信息集成;(4)提供强大的数据库管理系统,并在此基础上来完善客户销售数据库、客户市场数据库、客户支持与服务数据库、企业综合信息数据库等。由于客户信息管理系统是以客户为整个管理的中心,不同于其它管理系统,其数据库管理有自己的特性。因此,需要建构自己的数据库。在构建数据库时,应注意客户信息管理系统的特性,同时也要注意客户信息管理系统与企业其它管理系统的协调。本系统假设针对的是某小型企业,本系统将有助于其改善对现有客户的管理混乱状态,加强企业与客户的联系。公司有如下需求:(1)因为是小型企业,系统将只设系统管理员,管理员拥有对全部系统资料的

13、操作权限。(2)客户管理模块:客户的查询,可分别按客户编号,客户名称,所属地区,客户经理姓名,客户等级进行查询,可椐据客户编号或客户名称实现模糊查询;查询的条件之间能实现组合查询。客户删除:能够根据id号对当前用户进行删除,将产生级联,对所有与该客户相关联的联系人,交往记录都将删除。客户信息编缉:将对以存于数据库的信息加载至页面,通过修改页面信息并将提交至业务逻辑层调用底层方法从而更新数据库。(3) 联系人模块:联系人的添加,删除,修改,查询;(4) 交往记录模块:交往记录的修改,删除,修改,查询;根据需求分析,可以画出系统流程图如下:联系人信息单客户资料单联系人信息表客户一览表市场部查询结果

14、清单查 询系统管理员服务反馈表交往记录表服务反馈清单交往记录单客服部处理 物或单据 数据存储 外部环境物或信息流输向系统外向系统输入图3.2.1 客户信息管理系统流程图与本系统相关的用户和角色包括:系统管理员:管理系统用户、角色与权限,保证系统正常运行。销售主管:对客户服务进行分配。创建销售机会。对销售机会进行指派。对特定销售机会制定客户开发计划。分析客户贡献、客户构成、客户服务构成和客户流失数据,定期提交客户管理报告。客户经理:维护负责的客户信息。接受客户服务请求,在系统中创建客户服务。处理分派给自己的客户服务。对处理的服务进行反馈。创建销售机会。对特定销售机会制定客户开发计划。执行客户开发

15、计划。对负责的流失客户采取“暂缓流失”或“确定流失”的措施。高管:审查客户贡献数据、客户构成数据、客户服务构成数据和客户流失数据。图3.2.2 用例图3.3 系统相关要求3.3.1 系统的实现平台计算机的硬件建议最低配置如下:CPU 800MHZ内存 256M硬盘 8GIE 6.0或以上版本操作系统 windows 2000操作系统或更高3.3.2 开发工具的选择操作系统为windows Xp,MyEclipse 作为系统的集成开发环境,tomcat为web服务器,采用sqlserver2000作为数据库服务器,web服务器通过jdbc访问远程数据库,各项搭配有良好的兼容性。3.3.3 开发工

16、具及技术概述(1) MyEclipse概述15MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器

17、,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。XGA:平台和安装支持兼容Eclipse 3.3/Europa 1.0支持Java 5 & Java 6可运行在Windows (XP, Vista)、Linux、 Mac操作系统改进了Java EE 5 和

18、 Spring功能部件提高EJB3工程项目的灵活度,从数据库模式直接产生bean支持Java持久化结构开发对Spring 2.0升级,增强配置管理功能升级HibernateSpring-JPA高度集成支持AJAX开发和测试支持美国Apple公司所有的AJAX特征能在Mac操作系统上运行改进了AJAX Web 浏览器改进了AJAX工具增强了JavaScript调试支持RAD Web 开发具备Matisse4MyEclipse可视化Swing设计器快速Java EE部署和测试项目自动部署和启动服务:根据指定的调试和运行模式,自动配置项目和启动服在配置前,自动停止运行的服务器;在现有的应用程序配置中

19、可以重新配置MyEclipse Tomcat 6 服务器就地集成,启动只要一秒钟MyEclipse Derby 服务器:自动进行JDBC连接;可配置的启动选项(2) tomcat概述16Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JS

20、P 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTM

21、L 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。(3) SQL Server 2000概述17SQL Ser

22、ver是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。7.0版支持多种类型的角色,角色概念的引入方便了权限的管理,也使权限的分配更加灵活。SQL Server为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。 SQL Server可以在不同的操作

23、平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk等。SQL Server在服务器端的软件运行平台是Windows NT、Windows9x,在客户端可以是Windows3.x、Windows NT、Windows9x,也可以采用其它厂商开发的系统如Unix、Apple Macintosh等。微软的SQL Server是一项完美的客户/服务器系统。SQL Server需要安装在Windows NT的平台上,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平台,它使SQL Server具备足够的威力

24、和功能。这里所有的文章所采用的数据库应用程序都是基于SQL Server之上的,采用ODBC及标准的SQL查询,可以非常简单的移植到任何一个支持ODBC的数据库之上,如:Oracle,Informix,Db2和Access,在阅读有关ASP数据库编程技术之前,要确认你至少熟悉一种数据库管理系统,并可以使用标准的SQL查询语言操作数据库。SQL Server提供服务器端的软件,这部分需要安装在NT Server上,SQL Server的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQL Server可以最多定义32767个数据库,每个数据

25、库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引,其中有一个可以是Clustered索引。SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中

26、对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。(4) jsp技术18JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编

27、程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器

28、就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。(5) struts技术19Struts是Apache 基金会Ja

29、karta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的

30、设计标准,可以说是一个传统 MVC设计模式的一种变化类型。Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和

31、页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是MVC

32、的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。(6) hibernate技术20Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

33、Hibernate的核心接口一共有5个,分别为: Session、SessionFactory, Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术

34、语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建Sessio

35、nFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。 Hibernate主键介绍AssignedAssigned方式由程序生成主键值,并且要在save()之前指定否则会抛出异常特点:主键的生成值完全由用户决定,与底层数

36、据库无关。用户需要维护主键值,在调用session.save()之前要指定主键值。HiloHilo使用高低位算法生成主键,高低位算法使用一个高位值和一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯一主键。Hilo方式需要额外的数据库表和字段提供高位值来源。默认请况下使用的表是hibernate_unique_key,默认字段叫作next_hi。next_hi必须有一条记录否则会出现错误。特点:需要额外的数据库表的支持,能保证同一个数据库中主键的唯一性,但不能保证多个数据库之间主键的唯一性。Hilo主键生成方式由Hibernate 维护,所以Hilo方式与底层数据库无关,但不应该手动修

37、改hi/lo算法使用的表的值,否则会引起主键重复的异常。IncrementIncrement方式对主键值采取自动增长的方式生成新的主键值,但要求底层数据库的支持Sequence。如Oracle,DB2等。需要在映射文件xxx.hbm.xml中加入Increment标志符的设置。特点:由Hibernate本身维护,适用于所有的数据库,不适合多进程并发更新数据库,适合单一进程访问数据库。不能用于群集环境。IdentityIdentity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式。特点:与底层数据库有关,要求数据库支持Identity,如MySQl中是auto_increm

38、ent, SQL Server 中是Identity,支持的数据库有MySql、SQL Server、DB2、Sybase和HypersonicSQL。 Identity无需Hibernate和用户的干涉,使用较为方便,但不便于在不同的数据库之间移植程序。SequenceSequence需要底层数据库支持Sequence方式,例如Oracle数据库等特点:需要底层数据库的支持序列,支持序列的数据库有DB2、PostgreSql、Qracle、SAPDb等在不同数据库之间移植程序,特别从支持序列的数据库移植到不支持序列的数据库需要修改配置文件NativeNative主键生成方式会根据不同的底层数

39、据库自动选择Identity、Sequence、Hilo主键生成方式特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式。UUIDUUID使用128位UUID算法生成主键,能够保证网络环境下的主键唯一性,也就能够保证在不同数据库及不同服务器下主键的唯一性。特点;能够保证数据库中的主键唯一性,生成的主键占用比较多的存贮空间Foreign GUIDForeign用于一对一关系中。GUID主键生成方式使用了一种特殊算法,保证生成主键的唯一性,支持SQL Server和MySQL Hi

40、bernate源码中几个包的作用简要介绍:net.sf.hibernate.* 该包的类基本上都是接口类和异常类 net.sf.hibernate.cfg.* 配置文件读取类 net.sf.hibernate.collection.* Hibernate集合接口实现类,例如List,Set,Bag等等,Hibernate之所以要自行编写集合接口实现类是为了支持lazy loading net.sf.hibernate.connection.* 几个数据库连接池的Provider net.sf.hibernate.dialect.* 支持多种数据库特性,每个Dialect实现类代表一种数据库,描

41、述了该数据库支持的数据类型和其它特点,例如是否有AutoIncrement,是否有Sequence,是否有分页sql等等 net.sf.hibernate.expression.* HQL支持的表达式 net.sf.hibernate.hq.* HQL实现 net.sf.hibernate.id.* ID生成器 net.sf.hibernate.impl.* 最核心的包,一些重要接口的实现类,如果Session,SessionFactory,Query等 net.sf.hibernate.mapping.* hbm文件的属性实现 net.sf.hibernate.persister.* 核心包

42、,实现持久对象和表之间的映射 net.sf.hibernate.proxy.* Proxy和Lazy Loading支持 net.sf.hibernate.sql.* 生成JDBC sql语句的包 net.sf.hibernate.tool.hbm2ddl.* 用hbm配置文件生成DDL net.sf.hibernate.transaction.* Hibernate Transaction实现类 net.sf.hibernate.type.* Hibernate中定义的持久对象的属性的数据类型 net.sf.hibernate.xml.* XML数据绑定第4章 系统设计4.1 系统功能设计根

43、据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能:登录和退出:登录,退出客户管理: 客户信息的查询,删除,修改联系人管理:联系人的增加,删除,修改,查询交往记录管理:交往记录的增加,删除,修改,查询功能模块结构图如下登录和退出交往记录管理联系人管理客户信息管理系统客户管理交往记录的查询交往记录的修改交往记录的删除交往记录的增加联系人的查询联系人的增加联系人的修改联系人的删除客户信息删除客户信息查询客户信息修改登录退出图4.1.1 系统功能模块结构图系统管理员 客 服 户 信户客 联 联 交 交 服务反 务 信 息 系 系 往 往 馈 反 息 录 人 人 记 记 录 馈 查 入 查 录 录 录 入 查 询 询 入 查 录 询 询 入服务反馈信息管理联系人信息管理客户信息管理交往记录 客 户 交 联 联 往 服 信 系 记 务 息 人 录 反 信 信 馈 息 息 信 息 客户记录

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服