제 첫 번 째 Hibernate 앱 입 니 다.

1.자바 응용 프로그램 에서 Hibernate 를 사용 하 는 절차:          Hibernate 프로필 만 들 기           지구 화 클래스 만 들 기                    생 성 대상-관계 맵 파일          Hibernate API 를 통 해 데이터베이스 에 접근 하 는 코드 를 작성 합 니 다.
2.Hibernate 설정 파일:hibernate.cfg.xml

  
  
  
  
  1. <?xml version='1.0' encoding='UTF-8'?> 
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
  5.  
  6. <!-- Generated by MyEclipse Hibernate Tools.                   --> 
  7. <hibernate-configuration> 
  8.  
  9.     <session-factory> 
  10.         <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
  11.         <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> 
  12.         <property name="connection.username">scott</property> 
  13.         <property name="connection.password">tiger</property> 
  14.         <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> 
  15.         <property name="hibernate.show_sql">true</property> 
  16.           
  17.         <mapping resource="com/test/Emp.hbm.xml"/> 
  18.     </session-factory> 
  19.  
  20. </hibernate-configuration> 

3.지구 화 류:EmpBean.java
지구 화 류 는 자바 빈 의 규범 에 부합 되 고 일부 속성 과 이에 대응 하 는 getXXX()와 setXXX()방법 을 포함한다.

  
  
  
  
  1. public class EmpBean  
  2. {  
  3.     private int empNo;  
  4.       
  5.     private String ename;  
  6.       
  7.     private String job;  
  8.       
  9.     private int mgr;  
  10.       
  11.     private Date hireDate;  
  12.       
  13.     private float sal;  
  14.       
  15.     private Integer comm;  
  16.       
  17.     private int deptNo;  
  18.       
  19.      get、set      

4.생 성 대상-관계 맵 파일:Emp.hbm.xml

  
  
  
  
  1. <?xml version="1.0"?>   
  2. <!DOCTYPE hibernate-mapping PUBLIC        
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">   
  5.       
  6. <hibernate-mapping> 
  7.  
  8.     <class name="com.test.EmpBean" table="EMP"> 
  9.            
  10.         <id name="empNo" column="EMPNO" type="int"> 
  11.             <generator class="assigned"></generator> 
  12.         </id>          
  13.         <property name="ename"  column="ENAME" type="string"></property> 
  14.         <property name="job"  column="JOB"  type="string"></property> 
  15.         <property name="mgr"  column="MGR"  type="int"></property> 
  16.         <property name="hireDate" column="HIREDATE" type="date"></property> 
  17.         <property name="sal"  column="SAL"  type="float"></property> 
  18.         <property name="comm"  column="COMM"  type="int"></property> 
  19.         <property name="deptNo" column="DEPTNO"  type="int"></property> 
  20.     </class> 
  21.  
  22. </hibernate-mapping> 

 
5.Hibernate API 를 통 해 데이터베이스 에 접근 하 는 코드 를 작성 합 니 다.

  
  
  
  
  1. public class EmpTest  
  2. {  
  3.     /**  
  4.      * <p>Discription:[ ]</p>  
  5.      * @param args  
  6.      * @author:[LJ]  
  7.      * @update:[2012-3-28] [LJ][ ]  
  8.      */ 
  9.  
  10.     @SuppressWarnings("unchecked")  
  11.     public static void main(String[] args)  
  12.     {  
  13.         //  Hibernate , Configuration  
  14.         Configuration conf = new Configuration().configure();         
  15.         //  SessionFactory      
  16.         SessionFactory sf = conf.buildSessionFactory();          
  17.         //     
  18.         Session session = sf.openSession();  
  19.           
  20.         //1、           
  21.          EmpBean empBean = (EmpBean)session.get(EmpBean.class7369);  
  22.         System.out.println("empNo:"+empBean.getEmpNo()+"  ename  "+empBean.getEname());  
  23.         //2、  
  24.         Query query = session.createQuery("from EmpBean");  
  25.         List list = query.list();  
  26.         Iterator iterator = list.iterator();  
  27.         while(iterator.hasNext())  
  28.         {  
  29.             empBean = (EmpBean)iterator.next();  
  30.             System.out.println("empNo:"+empBean.getEmpNo()+"  ename  "+empBean.getEname());  
  31.         }  
  32.           
  33.         //3、  
  34.         EmpBean emp = new EmpBean();            
  35.         emp.setEmpNo(1000);            
  36.         emp.setEname("Jack");  
  37.         emp.setDeptNo(10);  
  38.         //            
  39.         Transaction tran = session.beginTransaction();           
  40.         //    
  41.         session.save(emp);   
  42.         //            
  43.         tran.commit();            
  44.         // session            
  45.         session.close();  
  46.  
  47.         //4、  
  48.         EmpBean emp = (EmpBean) session.get(EmpBean.class1000);            
  49.         if (emp != null)   
  50.         {                
  51.             emp.setEname("LJ");                             
  52.             Transaction tran = session.beginTransaction();           
  53.             //          
  54.             session.update(emp);                
  55.             tran.commit();                   
  56.             //  session            
  57.             session.close();    
  58.         }  
  59.  
  60.         //5、  
  61.         EmpBean emp = (EmpBean) session.get(EmpBean.class1000);            
  62.         if (emp != null)   
  63.         {                                           
  64.             Transaction tran = session.beginTransaction();              
  65.             //      
  66.             session.delete(emp);                
  67.             tran.commit();                   
  68.             //  session            
  69.             session.close();    
  70.         }  
  71.     }  
  72. }  

좋은 웹페이지 즐겨찾기