学习Hibernate——简单的增、删、改、查操作

上篇博客利用hibernate搭建起一个简单的例子,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述如何利用Hinbernate框架实现简单的数据库操作。

1、加入junit.jar

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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. import org.hibernate.Session;  
  2. import org.hibernate.SessionFactory;  
  3. import org.hibernate.cfg.Configuration;  
  4.   
  5. public class HibernateUtils {  
  6. /* 
  7.   *读取Hibernate.cfg.xml文件 
  8. */  
  9.     private static SessionFactory factory;  
  10.       
  11.     static {  
  12.         try {  
  13.             //读取hibernate.cfg.xml文件  
  14.             Configuration cfg = new Configuration().configure();  
  15.               
  16.             //建立SessionFactory  
  17.             factory = cfg.buildSessionFactory();  
  18.         }catch(Exception e) {  
  19.             e.printStackTrace();  
  20.         }  
  21.     }  
  22.     /* 
  23.       *打开Session 
  24.     */  
  25.       
  26.     public static Session getSession() {  
  27.         return factory.openSession();  
  28.     }   
  29.     /* 
  30.       *关闭Session 
  31.     */  
  32.       
  33.     public static void closeSession(Session session) {  
  34.         if (session != null) {  
  35.             if (session.isOpen()) {  
  36.                 session.close();  
  37.             }  
  38.         }  
  39.     }  
  40.       
  41.     public static SessionFactory getSessionFactory() {  
  42.         return factory;  
  43.     }  
  44. }  


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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. import java.util.Date;  
  2.   
  3. import org.hibernate.Session;  
  4.   
  5. import com.bjpowernode.hibernate.HibernateUtils;  
  6.   
  7. import com.bjpowernode.hibernate.User;  
  8.   
  9. import junit.framework.TestCase;  
  10.   
  11. public class test extends TestCase {  
  12. /* 
  13.  * 增加User 
  14.  */  
  15.     public void testSave() {  
  16.           
  17.         Session session = null;  
  18.         try {  
  19.             session = HibernateUtils.getSession();  
  20.             session.beginTransaction();  
  21.               
  22.             User user = new User();  
  23.             user.setName("李四");  
  24.             user.setPassword("123");  
  25.             user.setCreateTime(new Date());  
  26.             user.setExpireTime(new Date());  
  27.             session.save(user);  
  28.             session.getTransaction().commit();  
  29.         }catch(Exception e) {  
  30.             e.printStackTrace();  
  31.             session.getTransaction().rollback();  
  32.         }finally {  
  33.             HibernateUtils.closeSession(session);  
  34.         }  
  35.     }  
  36.     /** 
  37.      * 删除 
  38.      */  
  39.     public void testDel(){  
  40.         Session session = null;  
  41.         try {  
  42.             session = HibernateUtils.getSession();  
  43.             session.beginTransaction();  
  44.               
  45.             User user=(User)session.load(User.class"4028989545a244640145a24466300001");  
  46.               
  47.             session.delete(user);  
  48.             session.getTransaction().commit();  
  49.         }catch(Exception e) {  
  50.             e.printStackTrace();  
  51.             session.getTransaction().rollback();  
  52.         }finally {  
  53.             HibernateUtils.closeSession(session);  
  54.         }  
  55.     }  
  56.       
  57.     /** 
  58.      * 修改 
  59.      */  
  60.     public void testUpdate(){  
  61.         Session session = null;  
  62.         try {  
  63.             session = HibernateUtils.getSession();  
  64.             session.beginTransaction();  
  65.               
  66.             User user=(User)session.load(User.class"4028989545a243ca0145a243cbf80001");  
  67.             user.setName("王五");  
  68.             session.update(user);  
  69.             session.getTransaction().commit();  
  70.         }catch(Exception e) {  
  71.             e.printStackTrace();  
  72.             session.getTransaction().rollback();  
  73.         }finally {  
  74.             HibernateUtils.closeSession(session);  
  75.         }  
  76.     }  
  77.       
  78.     /** 
  79.      * 查询 
  80.      */  
  81.     public void testLoad(){  
  82.         Session session = null;  
  83.         try {  
  84.             session = HibernateUtils.getSession();  
  85.             session.beginTransaction();  
  86.               
  87.             User user=(User)session.load(User.class"4028989545a243ca0145a243cbf80001");  
  88.             System.out.println(user.getName());  
  89.             System.out.println(user.getId());  
  90.             System.out.println(user.getPassword());  
  91.             System.out.println(user.getClass());  
  92.             System.out.println(user.getCreateTime());  
  93.             System.out.println(user.getExpireTime());  
  94.             session.getTransaction().commit();  
  95.         }catch(Exception e) {  
  96.             e.printStackTrace();  
  97.             session.getTransaction().rollback();  
  98.         }finally {  
  99.             HibernateUtils.closeSession(session);  
  100.         }  
  101.     }  
  102. }  


4、效果图





总结:

      利用Hibernate简单的增、删、改、查操作的应用是一个很基础的应用刚学Hibernate就应该先从简单的学起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值