• <menu id="w2i4a"></menu>
  • logo MyEclipse數據庫教程
    文檔首頁>>MyEclipse數據庫教程>>MyEclipse數據庫教程:使用Hibernate開發(fā)Persistence(二)

    MyEclipse數據庫教程:使用Hibernate開發(fā)Persistence(二)


    上篇中,介紹了創(chuàng)建啟用了Hibernate的Java項目、自定義Hibernate配置文件、使用逆向工程進行Java表映射等詳細操作步驟(點擊此處查看更多)。本文承接上篇,繼續(xù)介紹“使用Hibernate開發(fā)Persistence”操作方法的其他內容。

    在開始本教程之前,請先下載并熟悉MyEclipse數據庫工具。

    下載MyEclipse  購買MyEclipse

    5、使用HQL Editor

    通過以下步驟使用ECHO_MESSAGE表(該表是使用本教程開始時提供的SQL命令添加的)。

    • 映射到ECHO_MESSAGE表。

    • 右鍵單擊HibernateDemo項目,然后選擇MyEclipse>打開HQL Editor。

    注意:每次打開擴展名為.hql的文件時,HQL Editor都會打開。

    • 編輯器打開后,輸入EchoMessage。

    • 單擊運行圖標或按CTRL + F9執(zhí)行查詢。

    hibernate-hql-1-annot.png

    • 使用查詢參數視圖執(zhí)行變量查詢。

    1.png

    注意:在為項目初始化HQL Editor后更改配置、映射或數據對象,請使用編輯器工具欄上的“Refresh”按鈕以確保編輯器選擇了最新的更改。

    如果您正在編輯一個NamedQuery注釋,可以在查詢屬性重調用quick fix(通常為CTRL + 1)來復制到HQL Editor。這將打開HQL編輯器,并使用查詢字符串對其進行初始化。

    您可以在HQL Editor中測試和編輯查詢。完成后,關閉編輯器可讓您將修改后的查詢復制回Java編輯器中的query屬性。

    打開項目的HQL Editor后,將為NamedQueries提供內容輔助和驗證(CTRL +空格鍵)。

    hibernate-hql-ac.jpg

    6、測試HibernateDemo應用程序

    測試Hibernate持久性的一種方法是使用main方法創(chuàng)建Java類。測試類使用Java對象和由Hibernate向導創(chuàng)建的HibernateSessionFactory。查看在HibernateSession類中定義的兩個重要方法,如下所示,它們在測試代碼中使用。

    顯示的是SessionManager類中的兩個重要的靜態(tài)方法。

    • getSession():此方法返回一個Session變量,可用于訪問Hibernate Session類。每當您要使用Hibernate會話時,都可以調用此方法來獲取緩存的Hibernate Session。

    • closeSession():如果會話已經啟動,則此方法可將其關閉。

    以下是測試代碼中的步驟列表以及源代碼示例:

    • 選擇File > New > Class。

    • 輸入包名稱。

    • 在Name字段中輸入HibernateReadTest。

    • 如圖所示完成頁面,然后單擊“完成”。

    • 打開HibernateReadTest.java文件,將源代碼替換為下面的代碼,然后按CTRL + S保存。

    package com.myeclipse.hibernate; 
     
    import java.math.BigDecimal;
    import org.hibernate.HibernateException; 
     
    public class HibernateReadTest {
     
      public static void main(String[] args) { 
        // Step 1 - Create the DAO 
        EchoMessageDAO dao = new EchoMessageDAO();
        try {
         // Step 2 - Use findById to retrieve the message with ID = 1 
         EchoMessage echoMessage = dao.findById(new BigDecimal(1)); 
         System.out.println("Entity retrieval successful, message is: " 
           + echoMessage.getMsg()); 
        } catch (HibernateException e){
          System.err.println("Entity retrieval failed."); 
          e.printStackTrace(); 
        } finally { 
          try { 
             dao.getSession().close(); 
          } catch (Exception e) { 
            // do nothing 
          } 
        } 
      }
    }
    • 在資源管理器中右鍵單擊HibernateReadTest.java文件,然后選擇 Run > Run As > Java Application。將打開“Console”視圖,如果測試成功,您將看到如下圖所示的輸出。

    注意:如果看到log4j警告,可以忽略。

    7、導入示例HibernateDemo項目

    • 下載HibernateDemo.zip。

    • 從菜單中選擇Import > Existing Projects into Workspace,選擇“Select archive file”選項,然后導航至zip文件。單擊完成將項目導入到工作區(qū)中。

    • 由于此項目是使用舊版本的MyEclipse創(chuàng)建的,因此將打開“Project Migration”向導。請按照向導中的步驟遷移項目。

    • 進行以下操作重新配置項目來匹配您的環(huán)境。

    a、編輯hibernate.cfg.xml并更改連接設置以反映您的數據庫設置。提示:可能需要更改EchoMessage.hbm.xml才能改變在class元素中指定的模式。

    b、建立與數據庫的連接,并執(zhí)行DDL/DDL.sql文件中的代碼創(chuàng)建并填充示例表。在執(zhí)行之前,可能需要使用模式前綴來限定表,并對數據庫特定的DDL進行其他更改。

    c、將數據庫的JDBC驅動程序JAR復制到項目中。右鍵單擊項目,然后選擇build path > Add to build path,將其添加到構建路徑中。

    本教程還包括以下文件:

    • log4j.properties - 用于控制log4j庫執(zhí)行的日志記錄級別。

    • ehcache.xml - 用于配置ehcache庫。

    • HibernateWriteTest.java - 一個示例應用程序,演示了如何使用DAO來寫數據庫。



    想進一步了解MyEclips?【MyEclipse官方中文網】知你所需,解你所惑!

    想與更多人聊MyEclips?加入MyEclipse中國(官方2):742336981暢所欲言吧!

    想及時獲取MyEclips資訊?掃描下方二維碼,MyEclips信息跟你走!

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();