分享

Hibernate中对于数据的(增删改查)操作的一个例子的代码

 贾朋亮博客 2016-03-19
[java] view plain copy
  1. package com.xiami.examples;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.hibernate.Criteria;  
  6. import org.hibernate.Session;  
  7. import org.hibernate.SessionFactory;  
  8. import org.hibernate.Transaction;  
  9. import org.hibernate.cfg.Configuration;  
  10. import org.hibernate.criterion.Criterion;  
  11. import org.hibernate.criterion.Restrictions;  
  12.   
  13. public class HibernateTest {  
  14.     public static void main(String args[]){  
  15. //      Configuration config = new Configuration();  
  16. //      config.configure();  
  17. //      SessionFactory sessionFactory = config.buildSessionFactory();  
  18. //      Session session = sessionFactory.getCurrentSession();  
  19. //      Transaction tx = session.beginTransaction();  
  20.           
  21.         //session对象的sava()方法保持一条记录  
  22. //      Guestbook gb = new Guestbook();  
  23. //      gb.setName("Kalision");  
  24. //      gb.setPhone("13854135552");  
  25. //      gb.setContent("我是Kalision.");  
  26. //      gb.setTitle("大家好,");  
  27. //      gb.setEmail("zhouchuanshun@foxmail.com");  
  28. //      gb.setCreatedTime((new Date()).toString());  
  29.           
  30. //      session.save(gb);  
  31. //      tx.commit();  
  32. //      sessionFactory.close();  
  33.           
  34.           
  35.         //session对象的get()方法得到一条记录  
  36. //      Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(3));  
  37. //      tx.commit();  
  38. //      System.out.println(gb.getName());  
  39.           
  40.           
  41.         //session对象的load()方法得到一条记录  
  42. //      Guestbook gb = (Guestbook) session.load(Guestbook.class,new Integer(3));  
  43. //      tx.commit();  
  44. //      System.out.println(gb.getName());  
  45.           
  46.           
  47.         //session对象的update()方法更新一条记录  
  48. //      Configuration config = new Configuration().configure();  
  49. //      SessionFactory sessionFactory = config.buildSessionFactory();  
  50. //      Session session = sessionFactory.getCurrentSession();  
  51. //      Transaction tx = session.beginTransaction();  
  52. //      Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(3));  
  53. //      tx.commit();  
  54. //        
  55. //      gb.setName("xiami");  
  56. //      session = sessionFactory.getCurrentSession();  
  57. //      tx = session.beginTransaction();  
  58. //      session.update(gb);  
  59. //      tx.commit();  
  60. //        
  61.         //更新以后,在得到更新后的名字  
  62. //      session = sessionFactory.getCurrentSession();  
  63. //      tx = session.beginTransaction();  
  64. //      gb = (Guestbook) session.get(Guestbook.class, new Integer(3));  
  65. //      tx.commit();  
  66. //      System.out.println(gb.getName());  
  67.           
  68.           
  69.         //session对象的delete()方法删除一条记录  
  70. //      Configuration config = new Configuration().configure();  
  71. //      SessionFactory sessionFactory = config.buildSessionFactory();  
  72. //      Session session = sessionFactory.getCurrentSession();  
  73. //      Transaction tx = session.beginTransaction();  
  74. //      Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(5));  
  75. //      session.delete(gb);  
  76. //      tx.commit();  
  77.           
  78.           
  79.         //query接口  使用Query类型的对象可以方便进行查询数据库的数据  
  80. //      Configuration config = new Configuration().configure();  
  81. //      SessionFactory sessionFactory = config.buildSessionFactory();  
  82. //      Session session = sessionFactory.getCurrentSession();  
  83. //      Transaction tx = session.beginTransaction();  
  84. //      Query query = session.createQuery("from Guestbook");  
  85. //      List list = query.list();  
  86. //      tx.commit();  
  87. //        
  88. //      int l = list.size();      
  89. //      System.out.println("当前数据库中的Guestbook表中一共有"+ l + "条记录数。");  
  90. //      Guestbook gb = new Guestbook();  
  91. //      for(int i = 0;i<l;i++){  
  92. //        
  93. //          gb = (Guestbook) list.get(i);  
  94. //          System.out.println(gb.getName());  
  95. //      }  
  96.           
  97.   
  98.         //Criteriia接口与Query接口类似,他允许创建并执行面向对象方式的查询。  
  99.         Configuration config = new Configuration().configure();  
  100.         SessionFactory sessionFactory = config.buildSessionFactory();  
  101.         Session session = sessionFactory.getCurrentSession();  
  102.         Transaction tx = session.beginTransaction();  
  103.           
  104.         Criteria crit = session.createCriteria(Guestbook.class);  
  105.         Criterion criterion1 = Restrictions.like("name""ka%");  
  106.         Criterion criterion2 = Restrictions.between("id"new Integer(1), new Integer(20));  
  107.         crit.add(criterion1);  
  108.         crit.add(criterion2);  
  109.         List list =crit.list();  
  110.         tx.commit();  
  111.           
  112.         int l = list.size();  
  113.         System.out.println("当前数据库中的Guestbook表中一共有" + l + "条name字段为ka字符开始且id值为1-20之间的记录");  
  114.         Guestbook gb = new Guestbook();  
  115.         for(int i =0;i<l;i++){  
  116.             gb = (Guestbook) list.get(i);  
  117.             System.out.println(gb.getName());  
  118.         }  
  119.           
  120.     }  
  121. }  




注:

本代码为个人学习时所写,实现了hibernate对数据库数据的增删改查操作

涉及到了SessionFactory接口,Session接口,Transaction接口,Query接口,Criteria接口等一些方法的用法。

及Session接口中的get() load() update() delete() 方法的用法

和Session接口中的 createQuery(),createCriteria() 两个方法的用法。


此代码封装了多个功能模块的方法。

请参考部分运行理解。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多