hibernate基础教程.ppt
《hibernate基础教程.ppt》由会员分享,可在线阅读,更多相关《hibernate基础教程.ppt(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、利用利用HibernateHibernate实现实现O/R MappingO/R Mapping技术技术(Hibernate for O/R MappingHibernate for O/R Mapping)杨少波杨少波在本讲您能了解如下知识点在本讲您能了解如下知识点(The Emphases in Teaching MaterialsThe Emphases in Teaching Materials)pHibernateHibernate框架技术及应用框架技术及应用q为什么要使用为什么要使用HibernateHibernate框架框架qHibernateHibernate框架主要的技术特性
2、框架主要的技术特性qHibernateHibernate框架的应用场合框架的应用场合qHibernateHibernate框架系统架构框架系统架构qHibernateHibernate框架中的主要框架中的主要APIAPI利用利用HibernateHibernate实现实现O/R MappingO/R Mapping技术技术HibernateHibernate框架技术及应用框架技术及应用1 1、有关与、有关与HibernateHibernate有关的一些基本概念有关的一些基本概念(1 1)HibernateHibernate技术本质上是一个提供数据访问服务的中间件技术本质上是一个提供数据访问服务
3、的中间件qHibernateHibernate框架是一个面向框架是一个面向Java Java 环境的对象环境的对象/关系数据库映关系数据库映射工具,它实现射工具,它实现把把JavaJava类对应到数据库表中类对应到数据库表中,并且采用了,并且采用了xmlxml技术、技术、Java ReflectionJava Reflection技术等。技术等。qHibernateHibernate不仅提供了从不仅提供了从JavaJava类到数据表的映射,也还提供类到数据表的映射,也还提供了对数据库查询和恢复等方面的机制支持。从而可以大幅度了对数据库查询和恢复等方面的机制支持。从而可以大幅度地减少开发时人工使
4、用地减少开发时人工使用SQL SQL 和和JDBC APIJDBC API处理数据的时间。处理数据的时间。(2 2)HibernateHibernate是一个开放源代码的对象关系映射框架是一个开放源代码的对象关系映射框架q它对它对JDBCJDBC进行了非常轻量级的对象封装,从而使用面向对象进行了非常轻量级的对象封装,从而使用面向对象编程思维(编程思维(OOPOOP)来操纵关系型的数据库。来操纵关系型的数据库。qHibernateHibernate可以应用在任何使用可以应用在任何使用JDBCJDBC的场合,既可以在的场合,既可以在J2SEJ2SE的应用程序中使用,也可以在的应用程序中使用,也可以
5、在J2EE WebJ2EE Web应用系统中使用它。应用系统中使用它。面向开发人员简化开发过程面向开发人员简化开发过程2 2、为什么要应用、为什么要应用HibernateHibernate技术技术-对设计人员而言对设计人员而言对设计人员达到持久层设计上的解耦对设计人员达到持久层设计上的解耦 ,解耦合设计的目标,解耦合设计的目标(1 1)达到业务逻辑与数据逻辑相分离)达到业务逻辑与数据逻辑相分离(业务人员不需要考虑(业务人员不需要考虑数据表的逻辑结构)数据表的逻辑结构)(2 2)达到数据访问逻辑与物理数据库的结构相分离)达到数据访问逻辑与物理数据库的结构相分离(数据(数据访问逻辑的开发者不再关心
6、不同的物理数据库的差异性)访问逻辑的开发者不再关心不同的物理数据库的差异性)注意注意:从设计上来讲,:从设计上来讲,hibernatehibernate通过对集合、继承的支持,使通过对集合、继承的支持,使开发人员能够建立一个关系足够开发人员能够建立一个关系足够“复杂复杂”的对象模型。的对象模型。面向设计人员达到面向设计人员达到“解耦解耦”设计目标设计目标3 3、为什么要应用、为什么要应用HibernateHibernate框架框架-对开发人员而言对开发人员而言(1 1)提高了编码的效率)提高了编码的效率pHibernateHibernate是一个是一个ORMORM工具,它不仅仅是实现了数据库访
7、问性工具,它不仅仅是实现了数据库访问性能优化和与数据库交互的常用操作(能优化和与数据库交互的常用操作(CRUDCRUD)p还将数据表与对象进行了映射关联(还将数据表与对象进行了映射关联(O/R MappingO/R Mapping),让开),让开发人员可以脱离数据库系统,而直接针对对象来与数据库表发人员可以脱离数据库系统,而直接针对对象来与数据库表进行交互。进行交互。(2 2)提高了数据库访问的性能)提高了数据库访问的性能p开发人员可以不再需要考虑与数据库交互的性能问题,如连开发人员可以不再需要考虑与数据库交互的性能问题,如连接池、数据缓存等等接池、数据缓存等等-因为因为HibernateHi
8、bernate提供了对这些方面提供了对这些方面的功能实现:的功能实现:p数据读取和更新、事务管理、数据连接池、查询和实体关系数据读取和更新、事务管理、数据连接池、查询和实体关系管理等。管理等。(3 3)HibernateHibernate使设计和开发人员达到下面的效果使设计和开发人员达到下面的效果q对设计人员达到持久层设计上的解耦对设计人员达到持久层设计上的解耦q对开发人员达到简化持久层的编程实现对开发人员达到简化持久层的编程实现您写过这样的您写过这样的SQL语句吗语句吗4 4、为什么要提出、为什么要提出HibernateHibernate(1 1)HibernateHibernate是是JD
9、BCJDBC的轻量级的对象封装的轻量级的对象封装 做为做为JDBCJDBC的替代者出现的的替代者出现的-不仅提供不仅提供ORMORM映射服务,还映射服务,还提供数据查询和数据缓存功能提供数据查询和数据缓存功能(2 2)优化)优化EJBEJB中的中的CMB EntityBeanCMB EntityBean 当然当然EJBEJB具有分布式的特性,而具有分布式的特性,而HibernateHibernate则不具备则不具备 简化简化JDBCJDBC和优化和优化EJBEJB当然只能是优化当然只能是优化而不是代替而不是代替(3 3)轻量级的对象封装的具体体现)轻量级的对象封装的具体体现p对对JDBCJDB
10、C的数据访问操作简化:以面向对象的编程形式实现对的数据访问操作简化:以面向对象的编程形式实现对数据库表中数据数据库表中数据 CRUDCRUD操作操作-避免复杂的避免复杂的SQLSQL语句出现。语句出现。p对对JDBCJDBC的功能扩展:采用面向对象中的对象之间的关系如的功能扩展:采用面向对象中的对象之间的关系如“关联、继承、聚合和组合关联、继承、聚合和组合”等形式来解决数据库表之间存在等形式来解决数据库表之间存在一定的关系的数据访问(一定的关系的数据访问(O/R MappingO/R Mapping技术)技术)。p对对JDBCJDBC的数据访问性能改进:提供了事务管理,多种形式的的数据访问性能
11、改进:提供了事务管理,多种形式的缓存管理技术,数据并发控制技术等方面。缓存管理技术,数据并发控制技术等方面。5 5、HibernateHibernate和和JDBCJDBC在性能上的对比在性能上的对比(1 1)用)用hibernatehibernate开发的系统能提高开发效率和系统的可重开发的系统能提高开发效率和系统的可重用性等方面用性等方面p因为任何封装在因为任何封装在JDBCJDBC之上的东西都不可能有直接去写之上的东西都不可能有直接去写JDBCJDBC快快(不考虑不考虑cache)cache)。p但通过适当的封装,这样能够降低开发的复杂性,提高开发但通过适当的封装,这样能够降低开发的复杂
12、性,提高开发效率和使代码易于维护。效率和使代码易于维护。因此我们应用了因此我们应用了hibernatehibernate后后系统的速度可能会有影响系统的速度可能会有影响!(2 2)能够真正实现面向对象的建模)能够真正实现面向对象的建模 用用HibernateHibernate时最大的便利不是在写代码的时候用对象的时最大的便利不是在写代码的时候用对象的操作代替操作代替SQLSQL语句,而是在建模的时候可以用面向对象的思维语句,而是在建模的时候可以用面向对象的思维把很复杂的逻辑用把很复杂的逻辑用UMLUML图表示出来,然后直接转化成实体。图表示出来,然后直接转化成实体。(3 3)JDBC+Hibe
13、rnateJDBC+Hibernate相互结合相互结合我们应该在性能影响太大的地方采用面向对象和关系相结合我们应该在性能影响太大的地方采用面向对象和关系相结合的方式。的方式。这是一种比较合理的这是一种比较合理的设计设计!我们家中购买了汽车后,也应该我们家中购买了汽车后,也应该还要保留我们原来的自行车还要保留我们原来的自行车!6 6、如何为应用系统提供统一的一致的数据库访问操作、如何为应用系统提供统一的一致的数据库访问操作(1 1)JDBCJDBC技术:它是一套技术:它是一套APIAPI而不是一个框架。而不是一个框架。(2 2)使用)使用Hibernate Hibernate 框架访问数据库的原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hibernate 基础教程
限制150内