Hibernate工作流程.pdf

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

Hibernate 的工作流程 Hibernate 的核心组件 在基于MVC 设计模式的JAVA WEB 应用中,Hibernate 可以作为模型层/数据访问层。它通过 配置文件(perties 或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA 对象或 PO(Persistent Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中 的数据进行增,删,改,查等操作。 除配置文件,映射文件和持久化类外,Hibernate 的核心组件包括以下几部分: a)Configuration 类:用来读取Hibernate 配置文件,并生成SessionFactory 对象。 b)SessionFactory 接口:产生Session 实例工厂。 c)Session 接口:用来操作PO。它有get(),load(),save(),update()和delete()等方法用来对PO 进 行加载,保存,更新及删除等操作。它是Hibernate 的核心接口。 d)Query 接口:用来对PO 进行查询操。它可以从Session 的createQuery()方法生成。 e)Transaction 接口:用来管理Hibernate 事务,它主要方法有commit()和rollback(),可以从 Session 的beginTrancation()方法生成。 Persistent Object 持久化对象可以是普通的Javabeans,惟一特殊的是它们与(仅一个)Session 相关联。JavaBeans 在Hibernate 中存在三种状态: 1.临时状态(transient):当一个JavaBean 对象在内存中孤立存在,不与数据库中的数据有任何 关联关系时,那么这个JavaBeans 对象就称为临时对象(Transient Object)。 2.持久化状态(persistent):当一个JavaBean 对象与一个Session 相关联时,就变成持久化对象 (Persistent Object) 3.脱管状态(detached):在这个Session 被关闭的同时,这个对象也会脱离持久化状态,就变成 脱管状态(Detached Object),可以被应用程序的任何层自由使用,例如可以做与表示层打交 道的数据舆对象(Data Transfer Object)。 Hibernate 的运行过程 Hibernate 的运行过程如下: A:应用程序先调用Configration 类,该类读取Hibernate 的配置文件及映射文件中的信息,并 用这些信息生成一个SessionFactpry 对象。 B:然后从SessionFactory 对象生成一个Session 对象,并用Session 对象生成Transaction 对象; 可通过Session 对象的get(),load(),save(),update(),delete()和saveOrUpdate()等方法对PO 进行 加载,保存,更新,删除等操作;在查询的情况下,可通过Session 对象生成一个Query 对象, 然后利用Query 对象执行查询操作;如果没有异常,Transaction 对象将提交这些操作结果到 数据库中。 Hibernate 的运行过程如下图: Hibernate 简单示例: 数据: create table T_register ( id int primary key, userName varchar(30), userPwd varchar(30), sex varchar(10), age int ) 视图层:注册页面register.jsp <% @ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/ht ml4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>Insert title here</title> </head> <body> <form action="servlet/RegisterServlet"

文档评论(0)

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

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

1亿VIP精品文档

相关文档