基于J2EE技术的客户信息管理系统论文正文.doc
《基于J2EE技术的客户信息管理系统论文正文.doc》由会员分享,可在线阅读,更多相关《基于J2EE技术的客户信息管理系统论文正文.doc(46页珍藏版)》请在咨信网上搜索。
邵阳学院毕业设计(论文) 目 录 摘要 Ⅰ ABSTRACT Ⅱ 第1章 概述 2 第2章 系统的目标和开发的可行性 3 2.1 系统目标 3 2.2 可行性分析 3 第3章 需求分析 5 3.1 市场需求分析 5 3.2 系统需求分析 6 3.3 系统相关要求 10 第4章 系统设计 19 4.1 系统功能设计 19 4.2 系统数据库设计 20 4.3 系统详细设计 27 第5章 系统测试 37 5.1 软件介绍 37 5.2 测试的作用和意义 37 5.3 测试方法和测试内容 37 5.4 测试结果和结论 38 第6章 系统维护 39 6.1 软件系统运行维护 39 6.2 影响维护工作量的因素 40 结束语 42 参考文献 44 致谢 45 附录 46 第1章 概述 当今是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。他的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。客户信息管理系统作为公司管理客户一个不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以客户信息管理系统能够实时关注客户的各种动态,以客户为中心,提高公司的效益。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对客户信息进行管理,具有着手工管理所无法比拟的优点。这些优点能够极大地提高客户信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。 几年前,各公司的客户管理基本上都是靠手工进行,随着时间增长,客户的增加,各部分数据都明显加大,手工操作相当困难,作为一个大的企业,保存他原有的客户信息是很有必要的,作为挖掘新客户,留住老客户的重要依据,如果用纸质档案来存储,花费的成本是很高的,而且很不方便,不宜查询和分析客户,所来看来,实现企业的信息化管理,依靠网络和计算机处理各种信息是迫在眉睫了。针对公司管理模型,根据软件工程的基本流程,开发一款这样的软件,实现公司管理的电子化,减轻管理人员的负担。借助计算机,管理人员能够很好的对现有的客户信息进行管理,方便了公司各层次的领导人,同时可以避免以前由于误操作而引起的错误。 客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,公司决定实施客户信息管理系统。希望通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对大量客户数据分析,减少现有客户的流失,提高新客户的开发能力。如何才能将一个企业与客户之间的信息管理好,这是一个十分迫切需要解决的问题,企业与客户之间的联系是时时刻刻都存在的,与客户之间保持良好的关系,应该是一个企业成功与否的一个前提,但是众多的客户,有着各自不同的信息,这就牵涉到许多的信息,开发这个系统是为了更好的处理这些信息。 第2章 系统的目标和开发的可行性 2.1 系统目标 本系统是针对一个某个特定公司开发的一套针对性和功能性都较强的信息管理系统。本系统包括:用户登录和退出模块,客户模块,联系人模块,交往记录模块。另包括权限管理模块用于系统的用户、角色和相关权限。系统功能为本说明书与附件Demo版界面描述中功能的并集。在上述文件未明确描述的情况下,应能满足合同和相关投标书所描述的功能。 目标系统应当达到以下要求: (1) 可靠性: 能连续准确的处理业务,有较强的容错能力。 (2) 可用性: 系统功能齐全,能够完全满足用户的需要。 (3) 可维护性: 用户能对系统进行维护、扩充、修改。 (4) 易用性: 用户能很容易的对系统进行操作。 (5) 安全性: 保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密。 (6) 跨平台性: 能够方便的移植到不同操作系统。 2.2 可行性分析 2.2.1 技术可行性 在大学四年里学了很多计算机方面的理论知识,各种技术都涉及到了,毕业设计过程当中不仅可以把过去所学习的知识串接起来,对在学校期间所学习的知识有个系统的了解,尤其是对于软件的开发设计过程有个明确的了解,在开发的工具使用方面的熟练度也有所提高。但缺乏一定的实践;大四我在专业方面进步了很多,尤其在做项目,在长沙牛耳实习的四个多月让我受益菲浅,学到了不少实践方面的内容,在本次毕业设计中涉及的技术,基本上都学过,所以完成此次设计,困难不是很大。 2.2.2 经济可行性 此系统采用sqlserver2000和java开发,主要的费用为sqlserver服务和开发人员费用和空间费用,在项目投入使用之后能节省大量的人力,物力,财力,同时也会带来许多直接和间接的效益,经估算,做为一个一般的公司大概在第三年就能开始盈利,为了公司的长远利益,花费一定的资本和获取更多,相信每个老板都是愿意的,因此开发这个系统是可行的。 2.2.3 操作可行性 应用此系统的主要角色为:系统管理员,销售主管,客户经理,高管。作为公司的管理人员必须要有一定的水平,对计算机应当有一定了解,此系统提供人性化操作界面和优质文档,让操作人员一看就能明白,同时技术支持也会对操作人员进行一定的培训,不会出现由于用户不熟悉系统而造成无法投入进行的困难 第3章 需求分析 3.1 市场需求分析 随着科学技术的发展,原来的信息管理方式已经过时,用软件管理是为了提高企业生产效率,提高经济效益的一种有效方式。市场需求主要包括以下几个部分: (1)信息分析能力 客户信息管理系统有大量客户和潜在客户的信息,企业应该充分的利用这些信息进行分析,使得决策者掌握的信息更加完全,从而能及时的作出决策。良好的商业情报是企业成功的一半。 (2)对客户互动渠道进行集成的能力 对多渠道进行集成与功能部件的集成是同等重要的。不管客户是与企业联系还是与销售人员联系,客户互动都应该是无缝的、统一的、高效的。同一的渠道还能带来内部效益的提高。 (3)支持网络应用的能力 在支持企业内外的互动和业务处理方面,Web的作用越来越大,这使得客户信息管理的网络功能越来越重要。如,网络可以为电子商务渠道提供支持。为了使企业雇员都能方便应用客户信息管理系统,需要提供标准化的网络浏览器,使得用户几乎不需训练就能使用系统。 (4)建设集中的信息仓库的能力 采用集中化的信息、实时的客户信息,可使各业务部门和功能模块间的信息能统一起来。 (5)对工作流进行集成的能力 工作量是指把相关文档和工作规则自动化安排给负责特定业务流程中特定步骤的人。客户信息管理应具有较强的功能,为跨部门工作提供支持,使这些工作能动态的、无缝的集成。 (6)与ERP功能的集成 如果客户信息管理与ERP和财务、库存、制造、分销、物流和人力资源等连接起来,使之成为一个客户互动循环,这种集成能使企业在系统间搜集商业情报,而不是低水平的数据同步。 3.2 系统需求分析 客户信息管理系统作为管理企业与客户关系的主要管理系统平台,不仅要处理企业与客户之间的业务,还要处理企业内部相关部门的业务。客户信息管理系统中不仅包含客户的信息资料,而且涉及市场竞争对手的情报资料。信息数据的来源是多种多样的,可以是本地数据库,也可以是异地数据库,甚至可以是E-mail、文本文件等。客户与企业、部门与部门、业务与业务、销售与市场及服务间复杂关系,导致客户信息系统中的数据不论是结构、类型还是彼此间的关联都是复杂多变的;对这种数据进行的处理也是多种多样的。因此,要实现对客户数据的及时、准确的处理和有效利用,就需要: (1)建立统一的信息编码系统; (2)设计能够良好反映事务特性的数据模型; (3)划分数据库类型,在分布式数据库管理系统和网络平台基础上,设计全局共享及局部共享数据库,以支持分布式数据处理,实现各分系统之间及其内部各功能模块之间的信息集成; (4)提供强大的数据库管理系统,并在此基础上来完善客户销售数据库、客户市场数据库、客户支持与服务数据库、企业综合信息数据库等。 由于客户信息管理系统是以客户为整个管理的中心,不同于其它管理系统,其数据库管理有自己的特性。因此,需要建构自己的数据库。在构建数据库时,应注意客户信息管理系统的特性,同时也要注意客户信息管理系统与企业其它管理系统的协调。本系统假设针对的是某小型企业,本系统将有助于其改善对现有客户的管理混乱状态,加强企业与客户的联系。 公司有如下需求: (1)因为是小型企业,系统将只设系统管理员,管理员拥有对全部系统资料的操作权限。 (2)客户管理模块:客户的查询,可分别按客户编号,客户名称,所属地区,客户经理姓名,客户等级进行查询,可椐据客户编号或客户名称实现模糊查询;查询的条件之间能实现组合查询。客户删除:能够根据id号对当前用户进行删除,将产生级联,对所有与该客户相关联的联系人,交往记录都将删除。客户信息编缉:将对以存于数据库的信息加载至页面,通过修改页面信息并将提交至业务逻辑层调用底层方法从而更新数据库。 (3) 联系人模块:联系人的添加,删除,修改,查询; (4) 交往记录模块:交往记录的修改,删除,修改,查询; 根据需求分析,可以画出系统流程图如下: 联系人信息单 客户资料单 联系人信息表 客户一览表 市场部 查询结果清单 查 询 系统管理员 服务反馈表 交往记录表 服务反馈清单 交往记录单 客服部 处理 物或单据 数据存储 外部环境 物或信息流 输向系统外 向系统输入 图3.2.1 客户信息管理系统流程图 与本系统相关的用户和角色包括: 系统管理员: 管理系统用户、角色与权限,保证系统正常运行。 销售主管: 对客户服务进行分配。 创建销售机会。 对销售机会进行指派。 对特定销售机会制定客户开发计划。 分析客户贡献、客户构成、客户服务构成和客户流失数据,定期提交客户管理报告。 客户经理: 维护负责的客户信息。 接受客户服务请求,在系统中创建客户服务。 处理分派给自己的客户服务。 对处理的服务进行反馈。 创建销售机会。 对特定销售机会制定客户开发计划。 执行客户开发计划。 对负责的流失客户采取“暂缓流失”或“确定流失”的措施。 高管: 审查客户贡献数据、客户构成数据、客户服务构成数据和客户流失数据。 图3.2.2 用例图 3.3 系统相关要求 3.3.1 系统的实现平台 计算机的硬件建议最低配置如下: CPU 800MHZ 内存 256M 硬盘 8G IE 6.0或以上版本 操作系统 windows 2000操作系统或更高 3.3.2 开发工具的选择 操作系统为windows Xp,MyEclipse 作为系统的集成开发环境,tomcat为web服务器,采用sqlserver2000作为数据库服务器,web服务器通过jdbc访问远程数据库,各项搭配有良好的兼容性。 3.3.3 开发工具及技术概述 (1) MyEclipse概述[15] MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse的特征可以被分为7类:J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,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 和 Spring功能部件 ①提高EJB3工程项目的灵活度,从数据库模式直接产生bean ②支持Java持久化结构开发 ③对Spring 2.0升级,增强配置管理功能 ④升级Hibernate ⑤Spring-JPA高度集成 支持AJAX开发和测试 ①支持美国Apple公司—所有的AJAX特征能在Mac操作系统上运行 ②改进了AJAX Web 浏览器 ③改进了AJAX工具 ④增强了JavaScript调试 支持RAD Web 开发 具备Matisse4MyEclipse可视化Swing设计器 快速Java EE部署和测试 项目自动部署和启动服务:根据指定的调试和运行模式,自动配置项目和启动服 ①在配置前,自动停止运行的服务器;在现有的应用程序配置中可以重新配置 ②MyEclipse Tomcat 6 服务器——就地集成,启动只要一秒钟 ③MyEclipse Derby 服务器:自动进行JDBC连接;可配置的启动选项 (2) tomcat概述[16] Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上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概述[17] SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。T-SQL是结构化查询语言SQL的一种,支持ANSI SQL-92标准。 SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。7.0版支持多种类型的角色,"角色"概念的引入方便了权限的管理,也使权限的分配更加灵活。 SQL Server为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。 SQL Server可以在不同的操作平台上运行,支持多种不同类型的网络协议如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具备足够的威力和功能。 这里所有的文章所采用的数据库应用程序都是基于SQL Server之上的,采用ODBC及标准的SQL查询,可以非常简单的移植到任何一个支持ODBC的数据库之上,如:Oracle,Informix,Db2和Access,在阅读有关ASP数据库编程技术之前,要确认你至少熟悉一种数据库管理系统,并可以使用标准的SQL查询语言操作数据库。 SQL Server提供服务器端的软件,这部分需要安装在NT Server上,SQL Server的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQL Server可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引,其中有一个可以是Clustered索引。 SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。 (4) jsp技术[18] JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 (5) struts技术[19] Struts是Apache 基金会Jakarta 项目组的一个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的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。 Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。 Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。 Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 (6) hibernate技术[20] Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的核心接口一共有5个,分别为: Session、SessionFactory, Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。 SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。 Hibernate主键介绍 Assigned Assigned方式由程序生成主键值,并且要在save()之前指定否则会抛出异常 特点:主键的生成值完全由用户决定,与底层数据库无关。用户需要维护主键值,在调用session.save()之前要指定主键值。 Hilo Hilo使用高低位算法生成主键,高低位算法使用一个高位值和一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯一主键。Hilo方式需要额外的数据库表和字段提供高位值来源。默认请况下使用的表是 hibernate_unique_key,默认字段叫作next_hi。next_hi必须有一条记录否则会出现错误。 特点:需要额外的数据库表的支持,能保证同一个数据库中主键的唯一性,但不能保证多个数据库之间主键的唯一性。Hilo主键生成方式由Hibernate 维护,所以Hilo方式与底层数据库无关,但不应该手动修改hi/lo算法使用的表的值,否则会引起主键重复的异常。 Increment Increment方式对主键值采取自动增长的方式生成新的主键值,但要求底层数据库的支持Sequence。如Oracle,DB2等。需要在映射文件xxx.hbm.xml中加入Increment标志符的设置。 特点:由Hibernate本身维护,适用于所有的数据库,不适合多进程并发更新数据库,适合单一进程访问数据库。不能用于群集环境。 Identity Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式。 特点:与底层数据库有关,要求数据库支持Identity,如MySQl中是auto_increment, SQL Server 中是Identity,支持的数据库有MySql、SQL Server、DB2、Sybase和HypersonicSQL。 Identity无需Hibernate和用户的干涉,使用较为方便,但不便于在不同的数据库之间移植程序。 Sequence Sequence需要底层数据库支持Sequence方式,例如Oracle数据库等 特点:需要底层数据库的支持序列,支持序列的数据库有DB2、PostgreSql、Qracle、SAPDb等在不同数据库之间移植程序,特别从支持序列的数据库移植到不支持序列的数据库需要修改配置文件 Native Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式 特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式。 UUID UUID使用128位UUID算法生成主键,能够保证网络环境下的主键唯一性,也就能够保证在不同数据库及不同服务器下主键的唯一性。 特点;能够保证数据库中的主键唯一性,生成的主键占用比较多的存贮空间 Foreign GUID Foreign用于一对一关系中。GUID主键生成方式使用了一种特殊算法,保证生成主键的唯一性,支持SQL Server和MySQL Hibernate源码中几个包的作用简要介绍: 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实现类代表一种数据库,描述了该数据库支持的数据类型和其它特点,例如是否有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.* 核心包,实现持久对象和表之间的映射 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 系统功能设计 根据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能: 登录和退出:登录,退出 客户管理: 客户信息的查询,删除,修改 联系人管理:联系人的增加,删除,修改,查询 交往记录管理:交往记录的增加,删除,修改,查询 功能模块结构图如下 登录和退出 交往记录管理 联系人管理 客户信息管理系统 客户管理 交往记录的查询 交往记录的修改 交往记录的删除 交往记录的增加 联系人的查询 联系人的增加 联系人的修改 联系人的删除 客户信息删除 客户信息查询 客户信息修改 登录 退出 图4.1.1 系统功能模块结构图 系统管理员 客 服 户 信户客 联 联 交 交 服务反 务 信 息 系 系 往 往 馈 反 息 录 人 人 记 记 录 馈 查 入 查 录 录 录 入 查 询 询 入 查 录 询 询 入 服务反馈信息管理 联系人信息管理 客户信息管理 交往记录 客 户 交 联 联 往 服 信 系 记 务 息 人 录 反 信 信 馈 息 息 信 息 客户记录- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 技术 客户 信息管理 系统 论文 正文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文