论坛首页 Java企业应用论坛

hibernate 方法集合

浏览 2858 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-08  
先定义了一接口: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. }   

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

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics