翻譯|使用教程|編輯:陳津勇|2019-11-04 11:48:36.747|閱讀 363 次
概述:本教程介紹了Hibernate開發(fā)的基本技術(shù)。通過本文,您將創(chuàng)建一個(gè)可使用Hibernate將文本消息持久保存到單個(gè)數(shù)據(jù)庫表的簡(jiǎn)單應(yīng)用程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上篇中,介紹了創(chuàng)建啟用了Hibernate的Java項(xiàng)目、自定義Hibernate配置文件、使用逆向工程進(jìn)行Java表映射等詳細(xì)操作步驟(點(diǎn)擊此處查看更多)。本文承接上篇,繼續(xù)介紹“使用Hibernate開發(fā)Persistence”操作方法的其他內(nèi)容。
在開始本教程之前,請(qǐng)先下載并熟悉MyEclipse數(shù)據(jù)庫工具。
5、使用HQL Editor
通過以下步驟使用ECHO_MESSAGE表(該表是使用本教程開始時(shí)提供的SQL命令添加的)。
映射到ECHO_MESSAGE表。
右鍵單擊HibernateDemo項(xiàng)目,然后選擇MyEclipse>打開HQL Editor。
注意:每次打開擴(kuò)展名為.hql的文件時(shí),HQL Editor都會(huì)打開。
編輯器打開后,輸入EchoMessage。
單擊運(yùn)行圖標(biāo)或按CTRL + F9執(zhí)行查詢。
使用查詢參數(shù)視圖執(zhí)行變量查詢。
注意:在為項(xiàng)目初始化HQL Editor后更改配置、映射或數(shù)據(jù)對(duì)象,請(qǐng)使用編輯器工具欄上的“Refresh”按鈕以確保編輯器選擇了最新的更改。
如果您正在編輯一個(gè)NamedQuery注釋,可以在查詢屬性重調(diào)用quick fix(通常為CTRL + 1)來復(fù)制到HQL Editor。這將打開HQL編輯器,并使用查詢字符串對(duì)其進(jìn)行初始化。
您可以在HQL Editor中測(cè)試和編輯查詢。完成后,關(guān)閉編輯器可讓您將修改后的查詢復(fù)制回Java編輯器中的query屬性。
打開項(xiàng)目的HQL Editor后,將為NamedQueries提供內(nèi)容輔助和驗(yàn)證(CTRL +空格鍵)。
6、測(cè)試HibernateDemo應(yīng)用程序
測(cè)試Hibernate持久性的一種方法是使用main方法創(chuàng)建Java類。測(cè)試類使用Java對(duì)象和由Hibernate向?qū)?chuàng)建的HibernateSessionFactory。查看在HibernateSession類中定義的兩個(gè)重要方法,如下所示,它們?cè)跍y(cè)試代碼中使用。
顯示的是SessionManager類中的兩個(gè)重要的靜態(tài)方法。
getSession():此方法返回一個(gè)Session變量,可用于訪問Hibernate Session類。每當(dāng)您要使用Hibernate會(huì)話時(shí),都可以調(diào)用此方法來獲取緩存的Hibernate Session。
closeSession():如果會(huì)話已經(jīng)啟動(dòng),則此方法可將其關(guān)閉。
以下是測(cè)試代碼中的步驟列表以及源代碼示例:
選擇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”視圖,如果測(cè)試成功,您將看到如下圖所示的輸出。
注意:如果看到log4j警告,可以忽略。
7、導(dǎo)入示例HibernateDemo項(xiàng)目
從菜單中選擇Import > Existing Projects into Workspace,選擇“Select archive file”選項(xiàng),然后導(dǎo)航至zip文件。單擊完成將項(xiàng)目導(dǎo)入到工作區(qū)中。
由于此項(xiàng)目是使用舊版本的MyEclipse創(chuàng)建的,因此將打開“Project Migration”向?qū)А?請(qǐng)按照向?qū)е械牟襟E遷移項(xiàng)目。
進(jìn)行以下操作重新配置項(xiàng)目來匹配您的環(huán)境。
a、編輯hibernate.cfg.xml并更改連接設(shè)置以反映您的數(shù)據(jù)庫設(shè)置。提示:可能需要更改EchoMessage.hbm.xml才能改變?cè)赾lass元素中指定的模式。
b、建立與數(shù)據(jù)庫的連接,并執(zhí)行DDL/DDL.sql文件中的代碼創(chuàng)建并填充示例表。在執(zhí)行之前,可能需要使用模式前綴來限定表,并對(duì)數(shù)據(jù)庫特定的DDL進(jìn)行其他更改。
c、將數(shù)據(jù)庫的JDBC驅(qū)動(dòng)程序JAR復(fù)制到項(xiàng)目中。右鍵單擊項(xiàng)目,然后選擇build path > Add to build path,將其添加到構(gòu)建路徑中。
本教程還包括以下文件:
log4j.properties - 用于控制log4j庫執(zhí)行的日志記錄級(jí)別。
ehcache.xml - 用于配置ehcache庫。
HibernateWriteTest.java - 一個(gè)示例應(yīng)用程序,演示了如何使用DAO來寫數(shù)據(jù)庫。
想進(jìn)一步了解MyEclips?知你所需,解你所惑!
想與更多人聊MyEclips?加入MyEclipse中國(官方2):742336981暢所欲言吧!
想及時(shí)獲取MyEclips資訊?掃描下方二維碼,MyEclips信息跟你走!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: