`
Leacher
  • 浏览: 3433 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate 方法集合

阅读更多
先定义了一接口:Manager
java 代码
  1. package com.test.dao;   
  2.   
  3.   
  4. public interface Manager {   
  5.   
  6.     void add(Object o);   
  7.   
  8.     void del(Object o);   
  9.   
  10.     void update(Object o);   
  11.   
  12.     <t></t> T load(Class<t></t> t, Object id);   
  13.   
  14.     Integer getNum(Class t);   
  15.   
  16. }   


实现该接口的Bean:ManagerBean
java 代码

  1. package com.test.dao;   
  2.   
  3. import java.io.Serializable;   
  4.   
  5. import org.hibernate.Query;   
  6. import org.hibernate.Session;   
  7. import org.hibernate.SessionFactory;   
  8. import org.hibernate.Transaction;   
  9.   
  10. import com.test.unit.HibernateUtil;   
  11.   
  12. public class ManagerBean implements Manager {   
  13.     SessionFactory sf = HibernateUtil.getSessionFactory();   
  14.   
  15.     public void add(Object o) {   
  16.         // TODO Auto-generated method stub   
  17.         Session session = sf.openSession();   
  18.         Transaction tx = session.beginTransaction();   
  19.         session.save(o);   
  20.         tx.commit();   
  21.         session.close();   
  22.         sf.close();   
  23.     }   
  24.   
  25.     public void del(Object o) {   
  26.         // TODO Auto-generated method stub   
  27.         Session session = sf.openSession();   
  28.         Transaction tx = session.beginTransaction();   
  29.         session.delete(o);   
  30.         tx.commit();   
  31.         session.close();   
  32.         sf.close();   
  33.     }   
  34.   
  35.     @SuppressWarnings("unchecked")   
  36.     public <t></t> T load(Class<t></t> t, Object id) {   
  37.         T load = (T) sf.openSession().load(t, (Serializable) id);   
  38.         // TODO Auto-generated method stub   
  39.         return load;   
  40.     }   
  41.   
  42.     public void update(Object o) {   
  43.         // TODO Auto-generated method stub   
  44.         Session session = sf.openSession();   
  45.         Transaction tx = session.beginTransaction();   
  46.         session.update(o);   
  47.         tx.commit();   
  48.         session.close();   
  49.         sf.close();   
  50.     }   
  51.   
  52.     public Integer getNum(Class t) {   
  53.         // TODO Auto-generated method stub   
  54.         Session session = sf.openSession();   
  55.         Query query = session   
  56.                 .createQuery("select count(*) from " + t.getName());   
  57.         return Integer.parseInt(query.list().get(0).toString());   
  58.     }   
  59.   
  60. }   

测试类:Test
java 代码

  1. package com.test.test;   
  2.   
  3. import com.test.dao.*;   
  4. import com.test.entity.*;   
  5.   
  6. public class Test {   
  7.   
  8.     /**  
  9.      * @param args  
  10.      */  
  11.     public static void main(String[] args) {   
  12.         // TODO Auto-generated method stub   
  13.         Manager m=new ManagerBean();   
  14.         /*  
  15.         Student s=new Student();  
  16.         s.setName("Leacher");  
  17.           
  18.         Teacher t=new Teacher();  
  19.         t.setName("Net");  
  20.         m.add(s);  
  21.         m.add(t);*/  
  22.            
  23.         /*  
  24.         Student s=m.load(Student.class, 5);  
  25.         System.out.println(s.getName());  
  26.         s.setName("Leacher");  
  27.         m.update(s);  
  28.           
  29.         Teacher t=m.load(Teacher.class, 6);  
  30.         System.out.println(t.getName());  
  31.         t.setName("Web");  
  32.         m.update(t);*/  
  33.            
  34.         int len=m.getNum(Teacher.class);   
  35.         System.out.print("记录数为 = "+len);   
  36.            
  37.         int lens=m.getNum(Student.class);   
  38.         System.out.print("记录数为 = "+lens);   
  39.            
  40.         /*添加  
  41.         Teacher t=new Teacher();  
  42.         for(int i=0;i<10;i++){  
  43.             t.setName("Net_"+i);  
  44.             m.add(t);  
  45.         }*/  
  46.            
  47.         /*Student t=new Student();  
  48.         for(int i=20;i<40;i++){  
  49.             t.setName("Student_"+i);  
  50.             m.add(t);  
  51.         }*/  
  52.            
  53.     }   
  54.   
  55. }   

分别测试了各个接口,自己试试吧

分享到:
评论
1 楼 xiaoych 2007-11-09  
楼主辛苦了,我先占个沙发!

相关推荐

Global site tag (gtag.js) - Google Analytics