MyEclipse數據庫教程:使用Hibernate開發(fā)Persistence(二)
在上篇中,介紹了創(chuàng)建啟用了Hibernate的Java項目、自定義Hibernate配置文件、使用逆向工程進行Java表映射等詳細操作步驟(點擊此處查看更多)。本文承接上篇,繼續(xù)介紹“使用Hibernate開發(fā)Persistence”操作方法的其他內容。
在開始本教程之前,請先下載并熟悉MyEclipse數據庫工具。
5、使用HQL Editor
通過以下步驟使用ECHO_MESSAGE表(該表是使用本教程開始時提供的SQL命令添加的)。
映射到ECHO_MESSAGE表。
右鍵單擊HibernateDemo項目,然后選擇MyEclipse>打開HQL Editor。
注意:每次打開擴展名為.hql的文件時,HQL Editor都會打開。
編輯器打開后,輸入EchoMessage。
單擊運行圖標或按CTRL + F9執(zhí)行查詢。
使用查詢參數視圖執(zhí)行變量查詢。
注意:在為項目初始化HQL Editor后更改配置、映射或數據對象,請使用編輯器工具欄上的“Refresh”按鈕以確保編輯器選擇了最新的更改。
如果您正在編輯一個NamedQuery注釋,可以在查詢屬性重調用quick fix(通常為CTRL + 1)來復制到HQL Editor。這將打開HQL編輯器,并使用查詢字符串對其進行初始化。
您可以在HQL Editor中測試和編輯查詢。完成后,關閉編輯器可讓您將修改后的查詢復制回Java編輯器中的query屬性。
打開項目的HQL Editor后,將為NamedQueries提供內容輔助和驗證(CTRL +空格鍵)。
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項目
從菜單中選擇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信息跟你走!