Hibernate 入门案例

package cn.itcast.hibernate;

import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import cn.itcast.hibernate.domain.User;

public class Base {
	
	public static void main(String[] args) {
		Session s = HibernateUtil.getSession();			//只初始化一次,使用HibernateUril	
		Transaction tx = s.beginTransaction();
		User user = new User();
		user.setBirthday(new Date());
		user.setName("liuqiming");
		
		s.save(user);
		tx.commit();			//在关闭之前提交。
		s.close();				//使用后关掉.	一定要放在finnal关闭,不然数据库会死掉.
		System.out.println("保存成功!");					//保存之后没数据,JDBC自动提交事物,但是hibernate缺省的将这个自动提交去掉了。
		System.out.println(user.getId());
	}
	
	static void addUser(User user){							//一般规范写法
		Session s = null;
		Transaction tx = null;
		try{
			s = HibernateUtil.getSession();
			tx = s.beginTransaction();
			s.save(user);
			tx.commit();
		}catch (HibernateException e) {
			if (tx!=null) {
				tx.rollback();
			}
			throw e;					//一定要将异常抛出去。
		}finally{
			s.close();
		}
	}
	
	static void addUser2(User user){							//一般规范写法也可以简写成这样,报错时,数据库会回滚。
		Session s = null;
		Transaction tx = null;
		try{
			s = HibernateUtil.getSession();
			tx = s.beginTransaction();
			s.save(user);
			tx.commit();
		}finally{
			s.close();
		}
	}
}

 

posted @ 2014-12-23 20:57  _启明  阅读(173)  评论(0编辑  收藏  举报