sessionfactory是什么

编程语言及工具

105人已加入

描述

  SessionFactory是一个计算机语言,指的是负责创建Session的核心接口,它充当数据存储源的代理,并负责创建Session对象。

  1.sessionFactory 是什么

  Hibernate的核心接口之一   SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

  2.sessionFactory 作用

  用于管理Hibernate会话(session)的对象,所以,最最最简单的理解,你可以把sessionFactory想想成里面有一个DataSource;这个对象创建了,hibernate才真正和数据库连接上了。即SessionFactory维护着所有连接对象已经连接对象的分配和销毁;SessionFactory是线程安全的,并且创建和销毁需要消耗比较大的资源,所以整个应用里面针对一个数据库只需要一个SessionFactory即可;

  Session

  SessionFactory管理着配置在其中的映射对象的解析数据,动作监听器,NamedQuery等大量信息;

  sessionFactory的相关方法返回session对象,而不是平常的new关键字创建session

  3.ssionFactory 使用方法

  /**

  *@param str

  *@param int

  *更新String类型的字段

  */

  public int updateDm_bm(String str){

  int resu=0;

  //获取会话工厂

  SessionFactory sf=this.getSessionFactory();

  //获取SessionFactory的会话

  Session session=(Session)this.getSessionFactory().getCurrentSession();

  sf.openSession();

  //开始事务

  Transaction t=session.beginTransaction();

  Query query =session.createQuery(str);

  //提交事务

  resu=query.executeUpdate();

  // Query.executeUpdate()方法返回的整型值表明了受此操作影响

  return resu;

  }

  此方法如果传入一条数据修改语句。就可以直接执行返回成功与否的结果。

  Session

  而此处的SessionFactory一旦声明,就不必去顾及数据库连接的问题,很方便。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分