新秀学习Hibernate——简单的增加、删、更改、检查操作

       部分博客使用Hibernate单的样例,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述怎样利用Hinbernate框架实现简单的数据库操作。

1、增加junit.jar

2、新建一个工具类HibernateUtils.Java把一些对session的公共操作封装起来

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {
/*
  *读取Hibernate.cfg.xml文件
*/
	private static SessionFactory factory;
	
	static {
		try {
			//读取hibernate.cfg.xml文件
			Configuration cfg = new Configuration().configure();
			
			//建立SessionFactory
			factory = cfg.buildSessionFactory();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	/*
	  *打开Session
	*/
	
	public static Session getSession() {
		return factory.openSession();
	} 
	/*
	  *关闭Session
	*/
	
	public static void closeSession(Session session) {
		if (session != null) {
			if (session.isOpen()) {
				session.close();
			}
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return factory;
	}
}


3、新建一个test类继承TestCase(Junit包里面的)然后以下就利用test类对User对象的增、删、改、查。

import java.util.Date;

import org.hibernate.Session;

import com.bjpowernode.hibernate.HibernateUtils;

import com.bjpowernode.hibernate.User;

import junit.framework.TestCase;

public class test extends TestCase {
/*
 * 添加User
 */
	public void testSave() {
		
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			User user = new User();
			user.setName("李四");
			user.setPassword("123");
			user.setCreateTime(new Date());
			user.setExpireTime(new Date());
			session.save(user);
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
	/**
	 * 删除
	 */
	public void testDel(){
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			User user=(User)session.load(User.class, "4028989545a244640145a24466300001");
			
			session.delete(user);
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
	
	/**
	 * 改动
	 */
	public void testUpdate(){
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
			user.setName("王五");
			session.update(user);
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
	
	/**
	 * 查询
	 */
	public void testLoad(){
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
			System.out.println(user.getName());
			System.out.println(user.getId());
			System.out.println(user.getPassword());
			System.out.println(user.getClass());
			System.out.println(user.getCreateTime());
			System.out.println(user.getExpireTime());
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
}


4、效果图





总结:

      利用Hibernate简单的增、删、改、查操作的应用是一个非常基础的应用刚学Hibernate就应该先从简单学校播放。

版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-10-23 18:38  hrhguanli  阅读(231)  评论(0编辑  收藏  举报