package cn.zhaoqinrong.MainApp;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import java.io.File; public class HibTest {
private Logger logger=Logger.getLogger(HibTest.class);
public void firstshow(){
Configuration conf=null;//加载Hibernate的配置文件
SessionFactory sf=null;//创建session
Session session=null;//session实施持久化操作的关键API
Transaction tx=null;//事务控制 try {
//1.创建Configuration的实例,并加载配置文件
conf=new Configuration().configure("hibernate.cfg.xml");
logger.debug("加载配置文件成功");
//获取sessionFactory工厂实例
sf=conf.buildSessionFactory();
logger.debug("创建sessionFactory实例");
//通过sessionFactory来获取session对象
session=sf.getCurrentSession();//推荐使用
/*
* SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理
* SessionFactory.getcurrentSession()得到的session由hibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
* 在配置文件中配置 <property name="current_session_context_class">thread</property>,将session
* 与线程进行绑定
*
* */
logger.debug("创建session实例");
tx= session.beginTransaction();
logger.debug("事务开启");
//2.加载配置文件
//3.
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();//session会自动关闭
}
} finally {
//如果使用open打开的session.必须使用finally对session进行关闭
}
}
}
package cn.zhaoqinrong.MainApp;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import java.io.File; public class HibTest {
private Logger logger=Logger.getLogger(HibTest.class);
public void firstshow(){
Configuration conf=null;//加载Hibernate的配置文件
SessionFactory sf=null;//创建session
Session session=null;//session实施持久化操作的关键API
Transaction tx=null;//事务控制 try {
//1.创建Configuration的实例,并加载配置文件
conf=new Configuration().configure("hibernate.cfg.xml");
logger.debug("加载配置文件成功");
//获取sessionFactory工厂实例
sf=conf.buildSessionFactory();
logger.debug("创建sessionFactory实例");
//通过sessionFactory来获取session对象
session=sf.getCurrentSession();//推荐使用
/*
* SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理
* SessionFactory.getcurrentSession()得到的session由hibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
* 在配置文件中配置 <property name="current_session_context_class">thread</property>,将session
* 与线程进行绑定
*
* */
logger.debug("创建session实例");
tx= session.beginTransaction();
logger.debug("事务开启");
//2.加载配置文件
//3.
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();//session会自动关闭
}
} finally {
//如果使用open打开的session.必须使用finally对session进行关闭
}
}
}

最新文章

  1. 获取打开的Word文档
  2. iOS之开发中常用的颜色及其对应的RGB值
  3. Android基于mAppWidget实现手绘地图(十六)–处理一次触摸多个地图对象
  4. 数据字典生成工具之旅(8):SQL查询表的约束默认值等信息
  5. Andriod Dialog 加载框 自定义,公用
  6. hdu 5154 Harry and Magical Computer 拓扑排序
  7. SharePoint开发 - 自定义导航菜单(三)附其他代码
  8. Understanding Service Types
  9. (1)opengl-nehe 4种框架
  10. Nginx 1.4.7图片缓存服务器
  11. Javascript String类的属性及方法
  12. matlab 函数说明--waitforbuttonpress
  13. SQL语句宝典
  14. js事件底层原理探究
  15. ADO.NET复习总结(6)-断开式数据操作
  16. Cygwin 编译 ffmpeg
  17. Callable和Future出现的原因
  18. 什么是python的全局解释锁(GIL)
  19. 在CentOS 6.3中安装与配置cmake
  20. Eclipse查看Servlet源码

热门文章

  1. 「SDOI2014」重建 解题报告
  2. centos7添加并挂载新硬盘
  3. Permissions 0755 for &#39;/home/lonecloud/.ssh/id_rsa&#39; are too open.
  4. 解题:CF622F The Sum of the k-th Powers
  5. 洛谷P3321 序列统计
  6. 【POJ2230】Watchcow
  7. bzoj3331 压力(圆方树)
  8. js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
  9. PHP快速排序算法
  10. Python之迭代器,生成器