package com.cstp.hibernate;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class UpdatetUser {
public static void main(String[] args) {
//读取hibernate.cfg.xml文件
//Configuration cfg = new Configuration().configure();
//if use hibernate.propperties file ,use 2 statements
Configuration cfg = new Configuration();//配置的是oracle
cfg.addClass(User.class);
//创建SessionFactory
SessionFactory factory = cfg.buildSessionFactory();
Session session = null;
Transaction tx=null;
try {
session = factory.openSession();
//开启事务
tx= session.beginTransaction();
//增
User user = new User();
user.setId("1");//没有在mapping文件里设置自动生成主键
user.setUsername("hww");
user.setPassword("456");
user.setCreateTime(new Date());
user.setExpireTime(new Date());
session.save(user);
//改
// user.setId("1");//以主键作为where条件
// user.setUsername("jackchan");
// user.setPassword("666");
// session.update(user);
//删
// user.setId("1");//以主键作为where条件
// session.delete(user);
//提交事务
tx.commit();
}catch(Exception e) {
e.printStackTrace();
//回滚事务
tx.rollback();
}finally {
if (session != null) {
if (session.isOpen()) {
//关闭session
session.close();
}
}
}
}
}