标签:session hibernate 配置文件 cfg 会话 api Hibernate config sf
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!!!
标签:session,hibernate,配置文件,cfg,会话,api,Hibernate,config,sf 来源: https://blog.51cto.com/u_12469213/2844279
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。