public static void main(String[] args) {
Configuration conf = new Configuration().configure();//1、读取配置文件
SessionFactory sf = conf.buildSessionFactory();// 2、创建SessionFactory
Session session = sf.openSession();// 3、打开Session
Transaction tx = null;
try{
tx = session.beginTransaction();// 4、开始一个事务
// 5、持久化操作
User user = new User();
user.setUname("Hibernate user");
user.setUpass("password");
session.save(user);
tx.commit();// 6、 提交事务
}catch(Exception e){
if (null!=tx){tx.rollback();}
e.printStackTrace();
}finally{
session.close();// 7、关闭Session
}
}
一般步骤:
public void add(FWXX item) {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
try{
tx = session.beginTransaction();
session.save(item);
tx.commit();
}catch(Exception e){
if(null!=tx) { tx.rollback(); }
e.printStackTrace();
}finally{
session.close();
}
}
有很多相同部分,还可以精简:
编写basedao
public abstract class BaseHibernateDAO {
protected void add(Object item){
Transaction tx = null;
Session session = HibernateSessionFactory.getSession();
try {
tx = session.beginTransaction();
session.save(item);
tx.commit();
} catch (Exception e) {
if(null!=tx){ tx.rollback(); }
e.printStackTrace();
}finally{
session.close();
}
}
// update,delete,get 方法与之类似
…
}
然后实现接口:
public class FwxxDAOHibImpl
extends BaseHibernateDAO implements FwxxDAO {
public FWXX get (int fwid) {
super.get(FWXX.class,fwid);
}
public void add(FWXX fwxx) {
super.add(fwxx);
}
public void del (int fwid) {
super.del(FWXX.class, fwid);
}
public void update(FWXX fwxx) {
super.update(fwxx);
}
…
}
这样是不是简单多了。