您所在的位置:主页 > JAVA技术 >

Hibernate基础保存一个对象

时间:2018-03-30 17:29来源:未知 作者:os 点击:

 
 
   做过的SSH项目也不少了,但由于没有从基础开始系统的学习过SSH,所以趁这次的学习机会,总结一下有关SSH最基础的一些技术点。
    这篇博客来总结利用hibernate来保存一个对象。
一、宏观把控hibernate操作数据库
 
    1、hibernate是通过sessionFactory来操作数据库的。sessionFactory我认为它就是一个结构与数据库相同的一个数据库的拷贝,
    它存在于缓存中,用于暂时存放未真正提交到数据库的数据。
    2、hibernate对JDBC进行再次封装,隐藏了连接数据库的细节。它主要通过session来进行操作。在这里session的作用与JDBC中使用的
   connection很像。但是却又不同。它是线程不安全的,所以在使用时要手动开启和关闭事务。
 
二、代码演义——hibernate保存对象
 
//读取配置文件
        Configuration cfg=new Configuration().configure(); 
 
        //创建sessionFactory,相当于数据库的一个镜像
        SessionFactory factory=cfg.buildSessionFactory();
 
        //取得session
        Session session=null;
        try {
            session=factory.openSession(); //打开session
            //开启事务,设置默认的提交方式为手动提交
            session.beginTransaction();
            User user=new User();
            user.setUsername("wyy");
            user.setPassword("123456");
            user.setCreateTime(new Date());
            user.setExpireTime(new Date());
            session.save(user);
            //提交事务
            session.getTransaction().commit(); //获得当前事务,然后提交
 
 
        } catch (Exception e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        }finally{
            if (session != null) {
                if (session.isOpen()) {
                    //关闭session
                    session.close();
                }
            }
        }
 
三、总结陈词——hibernate操作数据库步骤
 
    通过以上分析及代码演示,我们可以总结出在hibernate操作数据库 的几个步骤如下:
    1、读取配置文件
    2、利用读取配置文件对应的数据库来创建sessionFactory
    3、打开session
    4、开启事务
    5、操作数据库
    6、提交事务