MyEclipse数据库教程:使用Hibernate开发Persistence(二)

翻译|使用教程|编辑:陈津勇|2019-11-04 11:48:36.747|阅读 17 次

概述:本教程介绍了Hibernate开发的基本技术。通过本文,您将创建一个可使用Hibernate将文本消息持久保存到单个数据库表的简单应用程序。

相关链接:

上篇中,介绍了创建启用了Hibernate的Java项目、自定义Hibernate配置文件、使用逆向工程进行Java表映射等详细操作步骤(点击此处查看更多)。本文承接上篇,继续介绍“使用Hibernate开发Persistence”操作方法的其他内容。

在开始本教程之前,请先下载并熟悉MyEclipse数据库工具

下载MyEclipse  购买MyEclipse

5、使用HQL Editor

通过以下步骤使用ECHO_MESSAGE表(该表是使用本教程开始时提供的SQL命令添加的)。

  • 映射到ECHO_MESSAGE表。

  • 右键单击HibernateDemo项目,然后选择MyEclipse>打开HQL Editor。

注意:每次打开扩展名为.hql的文件时,HQL Editor都会打开。

  • 编辑器打开后,输入EchoMessage。

  • 单击运行图标或按CTRL + F9执行查询。

hibernate-hql-1-annot.png

  • 使用查询参数视图执行变量查询。

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方法创建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项目

  • 下载HibernateDemo.zip

  • 从菜单中选择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?【MyEclipse官方中文网】知你所需,解你所惑!

想与更多人聊MyEclips?加入MyEclipse中国(官方2):742336981畅所欲言吧!

想及时获取MyEclips资讯?扫描下方二维码,MyEclips信息跟你走!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:Genuitec https://www.genuitec.com/docs/persistence/developing-persistence-hibernate

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
MyEclipse

功能最全面、性价比最高的Java IDE之一

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat