Hibernate进行持久化的主要步骤

Hibernate进行持久化的主要步骤

1.  Hibernate的初始化,创建Configuration对象

这一步是为了读取XML配置文件和映射文件的信息到Configuration对象的属性中,具体分为以下两步:

1.从Hibernate配置文件Hibernate.cfg.xml中读取配置信息,存放到Configuration对象(内存)中;

2.根据配置文件中的mapping元素加载所有实体类对应的映射文件到Configuration对象中。

例如:Configuration cfg=new Configuration( ).configure( );

2.  创建SessionFactory实例

通过上一步Configuration对象读取到的配置文件信息创建SessionFactory。这里SessionFactory充当了数据存储源的代理,负责创建Session对象。(得到SessionFactory对象后,Configuration对象的使命就结束了)

例如:SessionFactory sf=cfg.buildSessionFactory( );

3.  创建Session实例

上一步我们得到了SessionFactory对象,就相当于有了数据储存源,现在我们可以通过SessionFactory创建Session对象,相当于与数据库建立一个连接。Session对象用于操作实体对象,并把这种操作转化为对数据库中数据的操作(如:增加、删除、查找、修改)。

       例如:Session  session=sf.openSession( );

       或者:Session  session=sf.getCurrentSession( );

4.  创建Transaction实例,开始一个事务

Transaction对象用于事务管理,一个Transaction对象对应的事务可以包括多个操作。在使用Hibernate进行增加、删除和修改操作时必须先创建Transaction对象。

例如:Transaction  ts=session.beginTransaction( );

5.  利用Session的方法进行持久化操作

利用Session的方法我们可以对对象进行持久化操作,将对象持久化到数据库中。

例如:User user=newUser( );

       user.setName(“test”);

       user.setPassword(“123456”);

       session.save(user); //利用Session的save方法将对象持久化到数据库中

6.  提交操作结果并结束事务。

对实体对象进行持久化操作后,必须提交事务。

例如:ts.commit( );

7.  关闭Session,与数据库断开连接

到了这一步,我们就需要关闭Session,与数据库断开连接了。

例如:session.close( );

8.  总结

         归纳起来,Hibernate进行持久化的一般代码如下:

Configuration cfg=new Configuration( ).configure( );

SessionFactory sf=cfg.buildSessionFactory( );

Session session=sf.openSession( );

//或者:Sessionsession=sf.getCurrentSession( );

Transaction ts=session.beginTransaction( );

//实例化一个对象

User user=new User( );

user.setName(“test”);

user.setPassword(“123456”);

//Session的操作方法有很多,这里只简单使用save( )一种

session.save(user); //利用Session的save方法将对象持久化到数据库中

ts.commit( );

session.close( );

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值