zoukankan      html  css  js  c++  java
  • 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进行关闭
    }
    }
    }
  • 相关阅读:
    bzoj 3531 [Sdoi2014]旅行(树链剖分,线段树)
    bzoj 2243 [SDOI2011]染色(树链剖分,线段树)
    spoj 375 Query on a tree(树链剖分,线段树)
    bzoj 2618 2618: [Cqoi2006]凸多边形(半平面交)
    C++中int型与char型相互转换的问题
    408 二进制求和
    407 加一
    斐波那契数列几种算法及时间复杂度分析
    397 Longest Continuous Increasing Subsequence
    376 二叉树的路径和
  • 原文地址:https://www.cnblogs.com/zqr99/p/7879999.html
Copyright © 2011-2022 走看看