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), 代表了与数据库连接的会话。

    a:保存的方法:session.save(对象);

    b:更新的方法:session.update(对象);  

      注意:更新必须写上主键的名称,其他字段都要设置值;

    c:主键查询的方法:session.get(对象,主键);/session.load(对象,主键);load方法这个支持懒加载。

    d:保存或者更新:session.saveOrUpdate(对象);如果没有主键就保存,存在主键就更新;保存或者更新的方法,没有设置主键,执行保存,有设置主键,执行更新操作,如果设置主键不存在,就报错;

    e:删除的方法:session.delete(对象);删除必须给主键;

      3.2:Hibernate最重要的对象:

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

      3.3:session.beginTransaction();

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

  3.4:Transaction: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!!!

原文地址:https://www.cnblogs.com/biehongli/p/6526281.html