Hibernate常见概念以及关键技术

上传人:ni****g 文档编号:488391168 上传时间:2023-01-13 格式:DOCX 页数:13 大小:52.68KB
返回 下载 相关 举报
Hibernate常见概念以及关键技术_第1页
第1页 / 共13页
Hibernate常见概念以及关键技术_第2页
第2页 / 共13页
Hibernate常见概念以及关键技术_第3页
第3页 / 共13页
Hibernate常见概念以及关键技术_第4页
第4页 / 共13页
Hibernate常见概念以及关键技术_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Hibernate常见概念以及关键技术》由会员分享,可在线阅读,更多相关《Hibernate常见概念以及关键技术(13页珍藏版)》请在金锄头文库上搜索。

1、软件开发的分层思想:三层架构:数据表现层业务逻辑层数据持久层SUN的桌面应用SwingAWT普通Java类JDBCSUN的WEB基本应用JSP普通ServletJDBCSUN的WEB高级应用JSFSessionBeanPersistenceWEB国内流行开源StrutsSpringHibernate一、对象持久化的理论1 .对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。2 .对象持久化的原因(目标):/是基础工作!是信息共享的主要原因物理:1)内存不能持久,需要在硬盘上持久保存/(物理上,物理的都不是根本原因)2) 内存容量有限,需要在容量更大的硬盘上保存应用:3)共享

2、(Internet的本质:信息的收集、整理、发布)/最重要的原因4) 检索(大规模)/也很重要5) 管理(备份、安全)3 .怎样进行对象持久化?(仅从JAVA方面讲)物理:1)对象序列化2) DB技术(JDBC数据库)4 .怎样利用数据库做对象持久化?优点:功能完备、理论上效率高缺点:复杂(又I)、代码量大、面向R(过程;二维表关系)2) EJB仅讲EntityBean优点:封装JDBC缺点:更复杂的API、重量级(侵入式)、功能不完备、难共享缺点的后果:开发周期长、测试困难、面向过程以上是2.0之前的版本,但3.0跟Hibernate基本一样3) ORM轻量级框架(Hibernate)现阶段

3、最佳的持久化工具:文档齐全、服务很好、工业标准、大量应用、易学优点:封装JBDC、简单的API、轻量级(只做持久化)(用类库卜PO(持久对象)-POJO(纯JAVA)、开源缺点:不够JDBC灵活5 .结论:1) 对象持久化是必须的2) 必须使用DB来实现3)Hibernate必须的(现阶段最佳选择)开源工具的通常问题:1.文档不全;2.服务不全;3.标准化不够而Hibernate避免了所有这些问题二、ORM和Hibernate的相关知识(理解)1) ORM:ObjectRelationalMapping对象-关系映射实现了面向对象世界中对象到关系数据库中的表的自动的(和透明的)持久化,使用元数

4、据(metadata)描述对象与数据库间的映射。2) Hibernate是非常优秀、成熟的O/RMapping框架。它提供了强大的对象和关系数据库映射以及查询功能。规范:1 .一个映射文件对应一个持久类(一一对应)2 .映射文件的名字和它所描述的持久类的名字保持一致3 .映射文件应该与它所描述的类在同一包中po-(pojo)- oid(唯一,中性)- getters/setters- 构造方法三、Hibernate核心API(理解)Configuration类:Configuration对象用于配置和启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关

5、系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。SessionFactory接口:一个SessionFactory实例对应一个数据存储源。应用从SessionFactory中获取Session实例。1) 它是线程安全的,这意味着它的一个实例能够被应用的多个线程共享。2) 它是重量级的,这意味着不能随意创建或者销毁,一个数据库只对应一个SessionFactory。通常构建SessionFactory是在某对象Bean的静态初始化代码块中进行。如果应用只是访问一个数据库,只需创建一个SessionFactory实例,并且在应用初始化的时候创建该实例

6、。如果应用有同时访问多个数据库,则需为每个数据库创建一个单独的SessionFactory。Session接口:是Hibernate应用最广泛的接口。它提供了和持久化相关的操作,如添加,删除,更改,加载和查询对象。1)它是线程不安全的,因此在设计软件架构时,应尽量避免多个线程共享一个Session实例。2)Session实例是轻量级的,这意味着在程序可以经常创建和销毁Session对象,例如为每个客户请求分配单独的Session实例。原则:一个线程一个Session;一个事务一个Session。Transaction接口:是Hibernate的事务处理接口,它对底层的事务接口进行封装。Quer

7、y和Criteria接口:这两个是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Query实例包装了一个HQL查询语句。Criteria接口完全封装了基于字符串形式的查询语句,比Query接口更面向对象。Criteria更擅长于执行动态查询。补充:find方法也提供数据查询功能,但只是执行一些简单的HQL查询语句的快捷方式(已过时),远没有Query接口强大!四、Hibernate开发步骤:(重点:必须掌握)开始:(设置环境变量和配置)在myeclipse里导入Hibernate的文件包(包括各数据库的驱动和其他的jar包,对版本敏感,注意各版本的兼容)按hibe

8、rnate规范编写名字为hibernate.cfg.xml文件(默认放在工程文件夹下)步骤一:设计和建立数据库表可以用Hibernate直接生成映射表。Oracle里建表:createtablet_ad(oidnumber(15)primarykey,ACTNOvarchar(20)notnullunique,BALANCEnumber(20);步骤二:持久化类的设计POJOPOJO在Hibernate语义中理解为数据库表所对应的DomainObject。(此类中只含有属性、构造方法、get/set方法)这里的POJO就是所谓的PlainOrdinaryJavaObject”,字面上来讲就是无

9、格式普通Java对象,简单的可以理解为一个不包含逻辑代码的值对象(ValueObject简称VO)。步骤三:持久化类和关系数据库的映射编写*.hbm.xml文件-该文件配置持久化类和数据库表之间的映射关系一个实体对应一个xml文件,组件用id,非组件用property。*.hbm.xml文件样板:t_hihi步骤四:Hibernate配置文件hibernate.cfg.xml或hibernate.properties1 .需要配置那些信息:持久化映射,方言,特性,登陆信息多数使用默认的设置。A、dialect:方言,就是拼驱动程序和SQL语句。每种数据库对应一种方言。其实就是指定了用那一种数据

10、库。Oracle数据库方言:org.hibernate.dialect.OracleDialectMySql数据库方言:org.hibernate.dialect.MySQLDialectB、ObjectPersistence:对象持久化。把内存中的数据保存到一个永久的介质中,比如说数据库。C、ORM:对象关系映射,是一个自动的过程注:持久对象与临时对象最大的区别是有没有数据库id标识。2 .hibernate.cfg.xml的样板:jdbc:mysql:/localhost:3306/testcom.mysql.jdbc.Driverrootpasswordupdatetrueorg.hibernate.cache.EhCacheProvider/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号