• Hibernate使用套路,新手请进



    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()得到的sessionhibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
    * 在配置文件中配置 <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.必须使用finallysession进行关闭
    }
    }
    }
  • 相关阅读:
    Asp.net2.0页面执行顺序 朱燚:
    通过对比学Python(2):集合对象 朱燚:
    通过比较学python(3):字典类,字符串 朱燚:
    [模版项目]怎样用企业服务实现跨进程缓存 朱燚:
    [轻松一下]世界上至少有10種東西是你不知道的 朱燚:
    评:我从编程中悟出八个字(不算原创,不过希望让大家能看看) 朱燚:
    从追MM谈Java的23种设计模式 朱燚:
    学习笔记_Redis 数据类型02
    MongoDB.Driver 中通过管道(Aggregate)实现分组功能查询出符合条件的数据
    MongoDB.Driver 中实现参数动态查询
  • 原文地址:https://www.cnblogs.com/zqr99/p/7879999.html
Copyright © 2020-2023  润新知