hibernate简

1.    Hibernate ORM类型的软件是对象持久话的技术,对象持久化的中间件,主要是对访问数据库进行了封装,对于使用者只要了解接口就可以了.

2.    以前都是用jdbcAPI对数据进行封装,缺点要有一定的技术水平才能作的完善,开发的周期长..hibernate是使用ORM即对象-关系映射,是面向对象的,关系模型是面向关系的,

面向对象主要是将表和对象关联起来.

1 

orm:对象关系映射。一般可以直接通过jdbc编程访问数据库,难以维护,现在我门需要将数据库封装起来,首先可以自己开发数据库持久层,难以保证全面,其次可以使用中间件,hibernate是一个开源的持久化的中间件,它对jdbc做了轻量级的封装,不仅提供了对象关系映射(org)还提供了数据查询和数据缓存功能,开发人员可以通过hibernate API操作数据库,也可以直接使用jdbc操作数据库。

Hibernated的核心接口:

Configuration接口:配置Hibernated,启动Hibernated,创建SessionFactory对象。

SessionFactory接口:初始化Hibernated,充当数据存储元,创建Session对象。

Session接口:主要增删改查对象。

Transaction:事务管理。

QueryCriteria接口:数据库查询。

配置Configuration,启动Hibernated。配置Hibernated通过Configuration实例来指定对象关系映射文件的位置或者动态配置Hibernated的属性,创建SessionFactory实例。SessionFactory对应一个数据元在初始化的时候要创建给实例,应用从SessionFactory中获得Session实例。Session是最常用的接口,主要是增删改查操作。Transaction接口用来声明事务,对低层事务做了封装,jdbc API,

JTA,CORBA等。QueryCriteria接口向数据库查询对象,包装了HQL查询语句HQL语句是面向对象使用类名和类的属性名不是表名和字段名,Criteria是基于字符串形式的查询比Query更面向对象主要擅长于动态查询。Session接口的find()方法也具有查询功能,它只执行简单的HQL语句查询的快捷方法。

 

当一个对象发生特定事件,例如:对象被增删改查后Hibernated应用通过回掉接口来响应,回掉接口有两种,

1.LifecycleValidatable接口:Lifecycle使持久化类能响应增删改查事件,Validatable接口实现持久化类的实例保存之前进行验证,这种方法必须实现Hibernated的特定接口,移植性差

2Interceptor接口:程序可以专门实现Interceptor接口的类,Interceptor可以专门来响应实例的增删改查事件。

Hibernated的可扩展接口,比如Hibernated的内置策略。比如可以连接各种数据库Hibernatedetc目录下有Hibernated.propertise文件,有详细的例子

 

Hibernated的小例子:

首先建立一个DO对象的一个文件主要是getset方法,注意get,set方法名后的属性名第一个要大写,要不然会抱错。如果为boolean话可以把get,set变成is.DO对象要实现串行化。

2  建立一个XML文件的一个对数据库的和对象之间的映射。这里可以使用eclipse自动生成一个Customer.hbm.xml,应和类文件放在同一个目录下。

<class name="mypack.Customer" table="CUSTOMERS"> 这里的name指定的类名table指定的表名,class是一个类和表的映射。

(3)     Id属性指主键,

<id name =”id” column=”ID” type=”long”>

<generator class=”increment”/>   //对象标识符生成器,生成主键

</id>

(4)<property>指的是属性名字

   <property name=””name colum=”NAME” type=”string”>

  3.通过java类初始化Configuration根据配置文件创建实例SessionFactory创建实例,使用openSession获得session的实例,save(),update()等方法和数据库操作

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值