Hibernate api 之常见的类(配置类,会话工厂类,会话类)

1:Configuration :配置管理类对象

  1.1:config.configure():

     加载主配置文件的方法(hibernate.cfg.xml) ,默认加载src/hibernate.cfg.xml

  1.2:config.configure(“cn/config/hibernate.cfg.xml”);   

     加载指定路径下指定名称的主配置文件

  1.3:config.buildSessionFactory();   

      创建session的工厂对象

2: SessionFactory :session的工厂(或者说代表了这个hibernate.cfg.xml配置文件)

  2.1:sf.openSession();   

      创建一个sesison对象

  2.2:sf.getCurrentSession();  

     创建session或取出session对象

3:Session:

  3.1:session对象维护了一个连接(Connection), 代表了与数据库连接的会话。

     3.2:Hibernate最重要的对象:

     只用使用hibernate与数据库操作,都用到这个对象

     3.3:session.beginTransaction();

     开启一个事务; hibernate要求所有的与数据库的操作必须有事务的环境,否则报错!


使用Hibernate api 之常见的类(配置类,会话工厂类,会话类)案例:

  《这里只是列举了Hibernate的三个常见类,其他配置文件和实体类之前的博客写过,这里重点介绍Hibernate的三个常见类》:

 1 package com.bie.test;
 2 
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.Transaction;
 6 import org.hibernate.cfg.Configuration;
 7 import org.junit.Test;
 8 
 9 import com.bie.po.User;
10 
11 /** 
12 * @author BieHongLi 
13 * @version 创建时间:2017年3月8日 下午5:28:35 
14 * 
15 */
16 public class HelloTest2 {
17 
18     //SessionFactory代表整个配置文件,所以没必要加载多次,放到全局即可
19     private static SessionFactory sf;
20     static{
21         //1:创建配置管理类对象
22         Configuration config=new Configuration();
23         //加载配置文件,(默认加载/src/hibernate.cfg.xml)
24         config.configure();
25         
26         //2:根据加载的配置管理类对象,创建SessionFactory对象
27         sf=config.buildSessionFactory();
28         
29         //简介写法,写到一行里面
30         //sf=new Configuration().configure().buildSessionFactory();
31     }
32     @Test
33     public void testHello(){
34         //对象
35         User user=new User();
36         user.setName("张三");
37         user.setPassword("123456");
38         user.setEmail("1748741329@qq.com");
39         user.setPhone("15236083005");
40         
41         //3:根据sesson的工厂创建session对象
42         Session session = sf.openSession();
43         
44         //开启事务
45         Transaction tx = session.beginTransaction();
46         //执行操作
47         session.save(user);
48         //提交事务
49         tx.commit();
50         //关闭事务
51         session.close();
52         sf.close();
53     }
54     
55 }

Hibernate三个常见类,配置类,会话工厂类,会话类,over!!!

上一篇:Hibernate之开门见山


下一篇:阿里巴巴Java方向面试题汇总(含答案)