网站大量收购独家精品文档,联系QQ:2885784924

MySQL数据库基础与实践 第2版 课件 Chap08 Hibernate框架介绍.pptx

MySQL数据库基础与实践 第2版 课件 Chap08 Hibernate框架介绍.pptx

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hibernate框架介绍

8Hibernate框架介绍第章

本章内容8.1Hibernate简介8.2Hibernate原理8.3Hibernate工作流程8.4Hibernate框架的配置过程8.5Hibernate的关系映射8.6案例:人事管理系统数据库

8.1Hibernate简介8.1Hibernate简介Hibernate是一个开放源代码的ORM(ObjectRelationalMapping,对象关系映射)框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

8.2Hibernate原理MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在实际应用场景中,各大企业公司根据实际需要,基于MVC编程模式设计了很多框架,现在WEB开发使用最多的、最流程的便是SSH框架,SSH框架就是Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架,其中Hibernate框架对持久层提供支持。如下图1所示为一个典型的B/S三层架构图。

8.2Hibernate原理?展示层:提供用户交互界面?业务逻辑层:实现各种业务和逻辑?数据访问层:负责存放和管理应用程序的持久化业务数据。SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。

8.2Hibernate原理Hibernate将JDBC进行了很好的封装。Hibernate的目标是释放开发者通常的与数据库持久化相关的编程任务的95%。消除那些针对特定数据库厂商的SQL代码。那么Hibernate如何工作的?如下图2所示,这主要从三个方面:

8.2Hibernate原理图8-2Hibernate工作原理

8.2Hibernate原理连接数据库:通过hibernate.cfg.xml配置文件中的配置提供用户交互界面,在这个文件中定义了数据库进行连接所需要的信息,包括JDBC驱动、用户名、密码、数据库方言,Configuration类借助dom4j的XML解析器解析设置环境,然后使用这些环境属性来生成SessionFactory。这样这个sessionFactory生成的session就能成功获得数据库的连接。操作数据库:对数据库的写操作包括保存、更新和删除,当保存一个POJO持久对象时,触发Hibernate的保存事件监听器进行处理。Hibernate通过映射文件获得对象对应数据库表名以及属性所对应的表中的列名,然后通过反射机制持久化对象(实体对象)的各个属性,最终组织成向数据库插入新对象的SQLinsert语句。调用了session.save()方法后,这个对象会标识成持久化状态存放在session中,对于表1-1SQL功能及包含的主要动词

8.2Hibernate原理Hibernate来说它就是一个持久化了的对象,但这个时候Hibernate还不会真正的执行insert语句,当进行session的刷新同部或事务提交时,Hibernate会把session缓存中的所有SQL语句一起执行,对于更新、删除操作也是采用类似的机制。然后,提交事务并事务提交成功后,这些写操作就会被永久地保存进数据库中,所以,使用session对数据库操作还依赖于Hibernate事务的处理。如果设置了二级缓存,那么这些操作会被同步到二级缓存中,Hibernate对数据库最终操作也是依赖于底层JDBC对数据库进行。

8.2Hibernate原理查询数据:Hibernate提供SQL?HQL?Criteria查询方式。HQL是其中运用最广泛的查询方式。用户使用session.createQuery()方法以一条HQL语句为参数创建?Query查询对象后,Hibernate会使用Anltr库把HQL语句解析成JDBC可以识别的SQL语句,如果设置了查询缓存,那么执行?Query.list()时,Hibernate会先对查询缓存进行查询,如果查询缓存不存在,再使用select语句查询数据库。

8.3Hibernate工作流程在使用Hibernat

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档