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