MyEclipse数据库教程:使用Hibernate开发Persistence(二)
在上篇中,介绍了创建启用了Hibernate的Java项目、自定义Hibernate配置文件、使用逆向工程进行Java表映射等详细操作步骤(点击此处查看更多)。本文承接上篇,继续介绍“使用Hibernate开发Persistence”操作方法的其他内容。
在开始本教程之前,请先下载并熟悉MyEclipse数据库工具。
5、使用HQL Editor
通过以下步骤使用ECHO_MESSAGE表(该表是使用本教程开始时提供的SQL命令添加的)。
映射到ECHO_MESSAGE表。
右键单击HibernateDemo项目,然后选择MyEclipse>打开HQL Editor。
注意:每次打开扩展名为.hql的文件时,HQL Editor都会打开。
编辑器打开后,输入EchoMessage。
单击运行图标或按CTRL + F9执行查询。
使用查询参数视图执行变量查询。
注意:在为项目初始化HQL Editor后更改配置、映射或数据对象,请使用编辑器工具栏上的“Refresh”按钮以确保编辑器选择了最新的更改。
如果您正在编辑一个NamedQuery注释,可以在查询属性重调用quick fix(通常为CTRL + 1)来复制到HQL Editor。这将打开HQL编辑器,并使用查询字符串对其进行初始化。
您可以在HQL Editor中测试和编辑查询。完成后,关闭编辑器可让您将修改后的查询复制回Java编辑器中的query属性。
打开项目的HQL Editor后,将为NamedQueries提供内容辅助和验证(CTRL +空格键)。
6、测试HibernateDemo应用程序
测试Hibernate持久性的一种方法是使用main方法创建Java类。测试类使用Java对象和由Hibernate向导创建的HibernateSessionFactory。查看在HibernateSession类中定义的两个重要方法,如下所示,它们在测试代码中使用。
显示的是SessionManager类中的两个重要的静态方法。
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文件。单击完成将项目导入到工作区中。
由于此项目是使用旧版本的MyEclipse创建的,因此将打开“Project Migration”向导。请按照向导中的步骤迁移项目。
进行以下操作重新配置项目来匹配您的环境。
a、编辑hibernate.cfg.xml并更改连接设置以反映您的数据库设置。提示:可能需要更改EchoMessage.hbm.xml才能改变在class元素中指定的模式。
b、建立与数据库的连接,并执行DDL/DDL.sql文件中的代码创建并填充示例表。在执行之前,可能需要使用模式前缀来限定表,并对数据库特定的DDL进行其他更改。
c、将数据库的JDBC驱动程序JAR复制到项目中。右键单击项目,然后选择build path > Add to build path,将其添加到构建路径中。
本教程还包括以下文件:
log4j.properties - 用于控制log4j库执行的日志记录级别。
ehcache.xml - 用于配置ehcache库。
HibernateWriteTest.java - 一个示例应用程序,演示了如何使用DAO来写数据库。
想进一步了解MyEclips?知你所需,解你所惑!
想与更多人聊MyEclips?加入MyEclipse中国(官方2):742336981畅所欲言吧!
想及时获取MyEclips资讯?扫描下方二维码,MyEclips信息跟你走!