`

利用Eclipse开发Hibernate应用程序

阅读更多

介绍如何利用Hibernate Synchronizer插件在Eclipse 3.0.1中快速的开发Hibernate应用程序,提高我们的工作效率。

  Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境,Hibernate也是目前很流行的O/R Mapping框架,至少在EJB 3.0大行其道之前,它是我们在考虑O/R Mapping时非常好的选择。

  关于Hibernate框架的细节,请参考《Hibernate in Action》一书。

  首先需要安装这个插件,Eclipse 3.0.1为我们提供了更加方便的插件管理方式,选择菜单“帮助—软件更新—查找并安装”,选择“搜索要安装的新功能部件”,操作界面如下:

  选择 New Remote Site ,填写名称 Hibernate PlugIn ,下面的URL中填入:http://www.binamics.com/hibernatesync

如下图:

  然后在“安装”界面中选中我们刚添加的 Hibernate PlugIn ,打开它,选中下一级的Synchronizer,然后Next,以下的安装根据提示进行Next即可了。
  Eclipse就可以自己下载完成安装,然后Eclipse自动重启动一次就完成了。

Spring PlugIn的地址为:
http://springframework.sourceforge.net/spring-ide/eclipse/updatesite/
安装配置类似于Hibernate PlugIn的安装。

Spring的地址为:
http://www.springframework.org/

  下面演示一个最简单的单表操作,让我们熟悉开发过程。我们选择MySQL数据库来做这个应用,首先在MySQL里建立一个新的数据库为HibernateTest,再建立一个数据表,名为Person,包含ID, Name, Sex, Address四个字段,建表语句如下:

# Host: localhost
# Database: hibernatetest
# Table: 'person'
# 
CREATE TABLE `person` (
  `ID` int(11) NOT NULL auto_increment,
  `Name` varchar(20) NOT NULL default '',
  `Sex` char(1) default NULL,
  `Address` varchar(200) default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM; 

  然后新建一个普通的Java项目:“File -> Project -> New Project ->Java Project

  输入项目名称:HibernateMySQL

  注意加入Hibernate的所有lib文件,包括有Hibernate下面的hibernate2.jar和lib目录下面的所有.jar文件;
还有要加入MySQL的jdbc驱动文件,比如mysql-connector-java-3.0.14-production-bin.jar
驱动程序自己选择加载,版本不同,文件名也不同:)

  下面我们需要在项目中加入一个Hibernate的配置文件,在src目录下选择 New -> Other -> Hibernate -> Hibernate Configuration File,如下图:

  在弹出的界面中,你需要指定要使用的数据库,以及连接数据库所需要的信息,我们对应的选择了数据库为MySQL,并配置了数据库的URL和管理员帐号与密码,如下:

Database Type: QL
Driver Class:  org.git.mm.mysql.Driver
Database URL: jdbc:mysql://localhost:3306/HibernateTest
Username: root
Password: 

  点击Browse按钮,在弹出的框中输入Driver,在下面就会出现相应的驱动所在的包
我们选中org.git.mm.mysql.Driver所在的包的文件,确定即可。

  在上图中,我们还可以指定从JNDI数据源中获得连接,可以点击 Datasource 标签进行配置。

  点击 Finish 按钮之后系统会自己生成一个名为 hibernate.cfg.xml 的文件,里面包含了基本的配置信息,如果需要高级配置,可以手动配置,也可以通过其它插件来进行编辑,比如MyEclipse的XML Editor

  下面要生成映射文件,首先新建一个包 New -> Package,输入net.echochina.hibernatetest

  在这个包下选择 New -> Other -> Hibernate -> Hibernate Mapping File ,在弹出的界面中点击 Refresh 按钮,将会列出库中所有的数据表,选中我们要使用的 Person 表,点击 Browse 按钮,选择我们所要生成的POJO文件所在的包:net.echochina.hibernatetest

如下图:

  在上述界面的 Properties 标签中可以配置hbm的其他选项,包括文件扩展名,聚合列名,ID生成规则等。完成后,系统会自动生成一个名为 Person.hbm 的文件,我们可以通过这个文件生成相关的存根类。

  在Person.hbm文件上单击右键,选择 Hibernate Synchronizer -> Synchronize Files

  该操作将生成三个包八个类文件,里面封装了Hibernate的操作细节,让我们可以专心面对业务逻辑的开发,仔细阅读这些文件可以提高你对Hibernate的认识,增长应用技巧。

  然后我们需要在Hibernate的配置文件中添加对Person 的相关信息,在Person.hbm上单击右键,选择Synchronizer -> Add Mapping Reference

  现在我们可以开始编写自己的程序逻辑了,代码可以写在
net.echochina.hibernatetest.dao.PersonDAO类中,这个类的代码不会被插件进行修改的。

  首先在数据库里增加一条新的记录
  在PersonDAO类中增加一个引入import net.echochina.hibernatetest.Person;
  然后加入一个main方法,内容如下:

public static void main(String args[])
{
 try
 {
  _RootDAO.initialize();
  PersonDAO persondao = new PersonDAO();
  Person person = new Person();
  person.setName("YuLimin");
  person.setSex("M");
  person.setAddress("http://Java.EchoChina.net");
  persondao.save(person);
 }
 catch(Exception e)
 {
  e.printStackTrace();
 }
}

  //测试MySQL的中文问题:更改内容如下,把setName的参数改为中文的内容:

person.setName("俞黎敏");

  这里应当到hibernate.cfg.xml文件的<session-factory/>块中增加上如下两行设置

<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">GBK</property>

  这样插入数据与读取数据时才不会有中文的问题,如果仍有中文问题请Google吧:)

  可以看出,插件已经把session操作和事务操作都封装起来了,我们的代码工作得到了极大的简化。而且我们可以利用插件自带的Hibernate Editor来编辑hbm文件,非常方便。
  我们还需要把ID的生成方式改为 identity,右键Person.hbm,Open With -> Hibernate Editor

 

  把ID的生成方式改为 identity

  要让这个程序正常运行,还需要对配置文件hibernate.cfg.xml作一些修改。
  使用Eclipse的 文本编辑器 打开该文件,其中有如下的内容:

<!-- 
<property name="hibernate.transaction.factory_class">
net.sf.hibernate.transaction.JTATransactionFactory
</property>
<property name="jta.UserTransaction">
java:comp/UserTransaction
</property>
 -->

  由于在我们的例子中,并没有使用JTA来控制事务,所以需要将上面的内容注释掉,程序才能正常运行。

  现在可以开始运行了,点击Run

  在出现的配置中选择Java Application,Name中输入PersonDAO

  单击Search 按钮,在弹出地框中选择net.echochina.hibernatetest包中的PersonDAO类

  OK之后,点击Run开始运行,如果以上各步操作正确的话,可以看到数据已经被保存到数据库。

  如果在实际开发工作中,需要重新设计数据表结构,那么只需要在.hbm文件中做相应的修改,然后执行 Synchronize and Overwrite 的操作,插件会重新生成存根文件,我们只需要修改程序逻辑就可以了,非常方便。有了这样的功能插件,我们可以极大的从配置文件的编写、查错中解脱出来,从而提高我们的工作效率。

Hibernate 常用工具

Hibernate Synchronizer 很好的辅助开发工具,是一个Eclipse 的插件,可以生成80%的代码,首选。
MyEclipse 安装的 3.8.3 感觉非常的强大,主要是因为他是付费的,做得比较全面,喜欢他们的struts 组件,开发 Struts 必不可少。
Hibernator Hibernate查询的辅助工具,可以使用 HSQL进行查询,测试HSQL的好工具,是个Eclipse插件。
Hibern8IDE(现更名为:HibernateConsole) 一个单独运行的Hibernate工具,可以运行 Hibernate Query Language (HQL)语句。
MiddleGen 生成持久对象的工具,可以生成

Persistence layer with EJB (CMP 2.0)
Persistence layer with JDO
Persistence layer with Hibernate
Persistence layer with Torque
Database GUI with JSP/Struts

http://spindle.sourceforge.net 开发Tapestry的必备

http://springui.sourceforge.net 写Spring Application Context File的辅助好工具

dot dot dot

 

dot

  作者其它文章

分享到:
评论

相关推荐

    利用Eclipse 开发Hibernate 应用程序

    本教程将深入讲解如何利用Eclipse IDE来开发基于Hibernate的应用程序。 首先,Eclipse是Java开发者的首选集成开发环境,因为它提供了丰富的功能,如代码自动完成、调试工具和项目管理,使得开发过程更加高效。为了...

    Eclipse开发Hibernate应用程序

    下面将详细解释如何使用Eclipse开发Hibernate应用程序。 1. **安装Eclipse和Hibernate插件** - 首先,你需要下载并安装最新版本的Eclipse IDE,确保其支持Java EE开发。 - 接着,为了更好地整合Hibernate,可以在...

    利用Eclipse开发Hibernate应用.pdf

    这篇文章由作者俞黎敏在2006年撰写,介绍了如何安装和使用Hibernate Synchronizer插件,以便在Eclipse 3.0.1中高效地开发Hibernate应用程序。 首先,为了开发Hibernate应用,需要在Eclipse中安装Hibernate插件。这...

    利用Eclipse开发Hibernate应用程序(2)

    hibernate?hibernatemappingfile”,在弹出的界面中点击“刷新”,讲会列出库中所有的数据表,选中我们要使用的“user_info”表,以及我们要生成的pojo文件所在的包:org.bromon.zizz.pojo。如下图: 在上述界面的...

    Eclipse Hiberbate

    利用Eclipse开发Hibernate应用程序

    快速的开发Hibernate应用程序

    本文将详细介绍如何在Eclipse 3.0.1中利用Hibernate Synchronizer插件来快速开发Hibernate应用程序。 首先,安装Hibernate Synchronizer插件是至关重要的一步。在Eclipse中,可以通过"帮助—软件更新—查找并安装...

    Eclipse开发第一个Hibernate

    ### Eclipse开发第一个Hibernate程序 #### 引言 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序,它能够将面向对象的数据模型与关系型数据库进行映射,简化了数据库的操作过程,使得开发者可以...

    Hibernate Eclipse开发必备包

    总的来说,"Hibernate Eclipse开发必备包"是Java开发者特别是Eclipse用户的得力助手,它将提升数据库驱动的应用程序开发效率,让开发流程更加流畅和高效。对于初次接触Hibernate的开发者来说,这个包是一个很好的...

    JAVA EE Eclipse struts hibernate spring 整合应用案例

    在Java EE开发领域,Eclipse、Struts、Hibernate和Spring是四大重要的开源框架,它们各自在Web应用程序开发中扮演着核心角色。这个整合应用案例旨在深入解析如何将这些框架有效地结合在一起,以构建高效、可维护的...

    Hibernate 资料

    - `利用Eclipse开发Hibernate应用程序.pdf`:专注于在Eclipse环境中开发Hibernate应用的实践指南。 - `Hibernate介绍与实例.ppt`:可能是一份关于Hibernate的PPT演示文稿,包含实例讲解。 总之,Hibernate是Java...

    hibernate example

    接下来,我们将学习如何利用Eclipse开发Hibernate应用程序。这一过程涉及: 1. **实体类的详细设计**:除了主键标识外,还需要为其他字段定义属性并用注解标记,如@Column、@GeneratedValue等。 2. **持久化操作**...

    精通J2EE—Eclipse Struts Hibernate Spring 整合应用案例源代码1

    《精通J2EE—Eclipse Struts Hibernate Spring 整合应用案例源代码1》这个压缩包文件主要包含了一个基于J2EE平台的、利用Eclipse开发工具,整合Struts、Hibernate和Spring框架的综合应用案例的源代码。这些源代码是...

    Eclipse快速上手Hibernate

    了解并合理应用这些策略,能显著提升应用程序的运行效率。 ### 12. 持久化策略 理解Hibernate的持久化策略,如懒加载(Lazy Loading)、立即加载(Eager Loading)、集合的fetch模式等,有助于设计更高效的ORM方案...

    利用MyEclipse开发Struts+Hibernate应用.rar_Eclipse_myeclipse_myeclipse

    【标题】"利用MyEclipse开发Struts+Hibernate应用.rar" 涉及到的是一个关于集成开发环境MyEclipse的教程,重点是如何在其中整合并使用Struts和Hibernate两个框架来构建Java Web应用程序。MyEclipse是Eclipse的一个...

    精通eclipse整合web开发struts hibernate spring jbpm 第18章源代码(source )

    在本资源中,我们主要关注的是使用Eclipse集成开发环境(IDE)进行Web应用程序的开发,特别是集成Struts、Hibernate、Spring和JBPM这四个关键的技术框架。这四个框架是Java企业级应用开发中的核心组件,它们分别负责...

Global site tag (gtag.js) - Google Analytics