您好,登录后才能下订单哦!
请求超时!
本篇内容介绍了“hibernate的sessionfactory是做什么的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在回答这个问题之前,先来看看一些概念。
接下来,创建一个sessionfactory,一般有两种创建方式,1.从XML文件读取配置信息构建SessionFactory,2.从Java属性文件读取配置信息构建SessionFactory。
第一种:
1》实例化Configuration对象,默认读取src目录下的hibernate.cfg.xml,配置文件
<span style="font-size:18px;">Configuration config = new Configuration().configure();</span>
或者在configure();中指明文件名称和路径
<span style="font-size:24px;">Configuration config = new Configuration().configure("hibernate.cfg.xml");</span>
2》现在这个config对象,已经包括所有Hibernate运行期的参数,通过Configuration实例的buildSessionFactory()方法可以构建一个惟一的SessionFactory:
<span style="font-size:24px;">SessionFactory sessionFactory = config.buildSessionFactory();</span>
第二种
1》创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties,代码如下。
Configuration config = new Configuration();
2》由于在配置文件中缺少相应的配置映射文件的信息,所以此处需要通过编码方式加载,这可以通过Configuration对象的addClass()方法实现,具体代码如下。
config.addClass(BranchForm.class);
addClass()方法用于加载实体类。
3》完成配置文件和映射文件的加载后,将得到一个包括所有Hibernate运行期参数的Configuration实例,通过Configuration实例的buildSessionFactory()方法可以构建一个惟一的SessionFactory,代码如下。
SessionFactory sessionFactory = config.buildSessionFactory();
构建SessionFactory要放在静态代码块中,因为它只需在该类被加载时执行一次。
<span style="font-size:24px;">Session session=sessionFactory.openSession();</span>
然后得到这个session之后,就可以使用它来进行数据库的具体操作了,给一个简单的代码。多说一句,一般来说在使用session的时候,都会用到事务,尤其是需要对数据做修改的时候。上代码:
<span style="font-size:24px;">public void save(Student student) { Transaction transaction= getSession().beginTransaction(); //开启事务 getSession().save(student);//只要传一个Student的对象实例 transaction.commit(); //事务提交 getSession().close();//关闭session}</span>
“hibernate的sessionfactory是做什么的”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。