Java -- 在Eclipse上使用Hibernate

來源:互聯網
上載者:User

    最近一個項目要用Java做,一點都不熟啊。沒辦法,只好硬著頭皮啃了,花了大半天的時間,終於在Eclipse上完成了第一個Hibernate例子。下面記錄關鍵的步驟,權作筆記,以備日後查看。

 (1)下載Hibernate,並向項目中匯入Hibernate。
     Project->Properies->Java Build Path->Libraries->Add External JARs...,選擇Hibernate根目錄下的hibernate3.jar,添加到項目中。
    接著,要將Hibernate下的lib檔案夾下的所有檔案都作為一個User Library添加到項目中,否則,如果僅僅添加hibernate3.jar,編譯可以通過,運行卻會拋出ClassNotDef的異常,因為hibernate3.jar依賴於Hibernate下的lib檔案夾下的檔案。

 2)我們的應用的後台資料庫使用的是Oracle,所以首先要在例子項目中引入含有Oracle jdbc driver的包,classes12.jar。該jar檔案位於oracle安裝目錄的jdbc\lib目錄下。
    在Eclipse中,Project->Properies->Java Build Path->Libraries->Add External JARs...,選擇classes12.jar,將其添加到項目中。
    
(3)產生hibernate.cfg.xml檔案。
    通常Hibernate的設定檔和.hbm.xml檔案都可以自動產生,這種自動產生的工具很多,我使用的是HibernateSynchronizer,它可以作為一個外掛程式添加到Eclipse中。當HibernateSynchronizer外掛程式正確載入後,我們可以向當前項目中添加Hibernate設定檔:File->New->Other->Hibernate->Hibernate Configuration File,出現如下介面:

  注意,Driver Class要選擇針對Oracle的oracle.jdbc.driver.OracleDriver,而且Database URL的格式也要正確,如:

jdbc:oracle:thin:@10.8.8.221:1521:ORCL



    最好將hibernate.cfg.xml檔案存放於項目的根目錄下。

 4)產生.hbm.xml檔案。File->New->Other->Hibernate->Hibernate Mapping File,出現如下介面:

     
    在填寫完Password後,點擊Refresh按鈕,就會在Tables中列出所有可以訪問的資料庫表,然後選中要為其產生.hbm.xml檔案的表,點擊Finish,即會產生對應的.hbm.xml檔案,比如我上面選擇的是Mobileuser表,就會產生Mobileuser.hbm.xml檔案。

(5)從.hbm.xml檔案自動產生實體類。
    在Package Explorer中選中Mobileuser.hbm.xml檔案,右鍵->Hibernate Synchronizer->Synchronize Files ,即可產生對應的實體類和DAO類。如果你僅僅想要實體類,那麼可以在Project->Properies->Hibernate Synchronizer->Data Access Objects ,將“I would like to have DAOs created for me”的鉤選項去掉即可。

(6)在hibernate.cfg.xml檔案中添加對應的mapping resource。
    在Package Explorer中選中Mobileuser.hbm.xml檔案,右鍵->Hibernate Synchronizer->Add Mapping Reference,即會在
hibernate.cfg.xml中自動產生如下配置:

<mapping resource="HibernateTest/Mobileuser.hbm.xml" />

(7)修改自動產生的hibernate.cfg.xml檔案。需要在hibernate.cfg.xml檔案的首部添加:

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

    比較繁瑣的是,每次自動修改hibernate.cfg.xml檔案後,都要重新添加這個xml片斷。

    萬事具備,現在可以寫個測試來檢驗一下了:

    //僅僅作為樣本,沒有進行異常處理
    public static void main(String[] args)
    {
        Configuration cfg = new Configuration().configure() ;        
        SessionFactory  sFactory = cfg.buildSessionFactory() ;        
        
        Session session = sFactory.openSession() ;
        Transaction tx = session.beginTransaction();
        Mobileuser user = (Mobileuser)session.load(Mobileuser.class , new Integer(2)) ;
        String age = user.getMobilenumber() ;
        
        System.out.println(age) ;
        tx.commit();
        session.close() ;
    }

    

   

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.