Hibernate入门基础概念整理.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以下资料为 java培训为大家整理: 第一次接触Hibernate已经是4年前的事情了,通过myeclipse可以直接生成实体类,甚感框架之神奇,最为神奇的是,习惯使用ibatis之后就再也没用过Hibernate了。 ??? 不得不承认,当习惯了一个方式处理一类事情之后,就总设法用最习惯的方式去面对所有问题了,直到遇到了不得不换种方式的时候,现在就是这个时候了。 ??? 好,不多废话了,开始整理Hibernate ??? 一、Hibernate入门常识: ??? 1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之 ??? 间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程 ??? 和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差 ??? 异就表现在内存中的对象状态发生了变化。 ??? 2. 为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保 ??? 存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大 ??? 量对象信息。从Java 程序的运行功能上来讲,保存对象状态的功能相比系统运行的其他功 ??? 能来说,应该是一个很不起眼的附属功能,java 采用jdbc 来实现这个功能,这个不起眼的 ??? 功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,并且那些大量的jdbc ??? 代码并没有什么技术含量,基本上是采用一套例行公事的标准代码模板来编写,是一种苦活 ??? 和重复性的工作。 ??? 3. 通过数据库保存 java 程序运行时产生的对象和恢复对象,其实就是实现了 java 对象与关 ??? 系数据库记录的映射关系,称为ORM(即Object Relation Mapping),人们可以通过封装 JDBC ??? 代码来实现了这种功能,封装出来的产品称之为 ORM框架,Hibernate 就是其中的一种流行 ??? ORM框架。使用 Hibernate 框架,不用写 JDBC 代码,仅仅是调用一个 save 方法,就可以 ??? 将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。 ??? 4. 使用Hibernate 的基本流程是:配置 Configuration 对象、产生 SessionFactory、创建 session ??? 对象,启动事务,完成CRUD 操作,提交事务,关闭session . ??? 5. 使用Hibernate 时,先要配置 hibernate.cfg.xml文件,其中配置数据库连接信息和方言等, ??? 还要为每个实体配置相应的hbm.xml 文件,hibernate.cfg.xml文件中需要登记每个hbm.xml ??? 文件。? ??? 6. 在应用Hibernate 时,重点要了解 Session的缓存原理,级联,延迟加载和 hql 查询。 ??? 细细品读上面这几句话,如果没懂,建议顺延学习Hibernate计划。 ??? 二、Hibernate工作原理 ??? Hibernate 的初始化。 ??? 读取Hibernate 的配置信息-〉创建Session Factory ??? 1)创建Configeration类的实例。 ??? 它的构造方法:将配置信息(Hibernate config.xml)读入到内存。 ??? 一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。 ??? 2)创建SessionFactory实例 ??? 把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。 ??? SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。 ??? 缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。 ??? SessionFactory的缓存中:Hibernate 配置信息。OR映射元数据。 ??? 缓存-大:重量级对象 小:轻量级对象 ??? 3)调用SessionFactory创建Session的方法 ??? 1.用户自行提供JDBC连接。 ??? Connection con=dataSource.getConnection(); ??? Session s=sessionFactory.openSession(con); ??? 2.让SessionFactory提供连接 ??? Session s=sessionFactory.openSession(); ??? 4)通过Session 接

文档评论(0)

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

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

1亿VIP精品文档

相关文档