`

eclipse中从数据库生成hibernate实体类

阅读更多
   http://www.blogjava.net/relax/archive/2009/07/27/288537.html

为什么写这篇BLOG,是因为经常有同事或网友问起我hiberante实体类的生成问题。所以下次再有人问我可以省一堆的话了,其实这个真的是很简单。
        现在hibernate在项目中的应用是越来过广泛了。我是从hibernate开始支持注释语法后才开始研究它的。说实在的,原来的hibernate生成的一堆堆的XML文件看着就头晕,还不如自己写的SQL语句来的舒服,所以一直听朋友和同事介绍,可自己一直不屑用之。
        可是现在有福了hibernate是JPA最常用的实现之一,而且hiberante自身也对注释语法进行了支持。现在再不用去看那一堆堆的XML映射了。而且eclipse还提供了从数据库直接生成Entity Class的工具。既然可以少写或不写SQL语句那合乐而为为呢。废话少说,开始做起来。

        还是从我们开始项目的第一步说起,新建项目。一般我们用java做web项目都是File->New->Dynamic Web Project,如下图:

然后会出现新建项目的对话框如图所示

然后点击Modify按钮后如图

将java persistence选中,这样就为项目增加了JPA的特性,其它特性根据项目需要自行修改。点击OK后。点击几次NEXT(忽略的几步根据自身情况而定)到JPA FACET窗口,如下图:


因为咱们用的是hibernate列表中没有所以platform选择Generic,Type选择disable library configuration,因为咱们把需要的jar文件直接放到WEB-INF下的lib目录中就可以了。所以不用配置。再下面的connection这个是必须要配置的要不我们怎么从数据库中生成啊。对不。
如果以前配置过连接直接选择就可以了,如果没有配置过点击 add connection.如下图:

选择要使用的数据库类型,然后下一步,如下图。其实这个类型也没啥作用只是个生成连接字符串的模版而以。

选择已有的驱动,如果没有怎么办,废话,当然是继续新增了。这块不详述了,点击driver后面第一个按钮,根据提示选择对应的jar文件即可。
做完上述操作点击Finish.回到JPA Facet窗口。选中Discover annotated classes automatically,把Create orm.xml钓掉。然后点Finish项目就建完了。
然后在项目文件夹上右键选择JPA tools->Generate Entities from Tables.后如下图:

选择建好的connection如果没有connect 就connect一下。就会如上图所示了(有时eclipse会有些小问题看不见表,可以重启一下试试,实在不行就直接建个JPA project ,生成实体后再拷到自己的项目中就可以了。)选中要生成实体的表,Next如下图:

上面是表之间的关系,如果可以做相应的修改(用的是ecipse 3.5貌似eclipse3.4还没这个功能,eclipse越来越强了),再Next后如下图:

(这个好像也是eclipse 3.5才加的)都能看明白吧。按照需要改改就可以了,这里不多啰嗦。再Next
后,如下图:

这是一些表的每个属性的调整,一般也不用调了。Finish就好了。
嘿嘿终于完成了。贴了这么多图,累死我了。不过为了大家能弄明白,还是图比文字更能说明情况,我辛苦点就辛苦点吧。。
看看源码中生成的java文件是不是你想要的,具体这些类怎么用。就不是这篇文章要说的问题了。如果大家有需要,我下回接着写。



二、http://www.blogjava.net/relax/archive/2005/03/01/1588.html
配置Middlegen-Hibernate和hibernate-extensions以产生hbm映射文件和POJO
先决条件:
已经安装了ant和MySQL数据库,数据库表已经建立。

1、  从Hibernate官方网站下载Middlegen-Hibernate和hibernate-extensions,并解压。
2、  配置Middlegen-Hibernate:
2.1 配置数据库连接
假设连接的数据库是MySQL,在Middlegen-Hibernate-r5\config\database目录中有一个mysql.xml文件,是用来配置MySQL数据库的连接的。内容为:
   <property name="database.script.file" value="${src.dir}/sql/${name}-mysql.sql"/>
   <property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>
   <property name="database.driver.classpath"      value="${database.driver.file}"/>
   <property name="database.driver"                value="org.gjt.mm.mysql.Driver"/>
   <property name="database.url"                   value="jdbc:mysql://localhost/jboss"/>
   <property name="database.userid"                value="jboss"/>
   <property name="database.password"              value="jboss"/>
   <property name="database.schema"                value=""/>
   <property name="database.catalog"               value=""/>

   <property name="jboss.datasource.mapping"       value="mySQL"/>
将mysql-connector-java-3.0.15-ga-bin.jar拷贝到${lib.dir},也就是Middlegen-Hibernate-r5\lib目录。
修改配置文件中的数据库连接项目database.url、database.userid、database.userid 使Middlegen-Hibernate可以找到数据库。
2.2 配置Middlegen-Hibernate-r5的ant运行文件build.xml
<!DOCTYPE project [
    <!ENTITY database SYSTEM "file:./config/database/mysql.xml">
]>
指出使用的数据库配置文件。
<project name="Middlegen Hibernate" default="all" basedir=".">
   <property file="${basedir}/build.properties"/>
   <property name="name" value="hibernatesample"/>
指出你的应用名称。
   <property name="build.gen-src.dir"              value="C:/sample"/>
指出hbm的输出路径。
         <hibernate
            destination="${build.gen-src.dir}"
            package="org.hibernate.sample"
            genXDocletTags="false"
            genIntergratedCompositeKeys="false"
            javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         />
指出hbm所在的包的位置。
指出hbm.xml中是否需要XDoclet Tags。
3、  运行Middlegen-Hibernate:
在Middlegen-Hibernate目录下运行ant,进入Middlegen-Hibernate的图形界面。可以设置表,和字段的特性。然后按Genarate,产生hbm.xml文件。
4、  配置hibernate-extensions
在hibernate-extensions-2.1.2\tools\bin目录有一个setenv.bat文件,改变其内容为:
set JDBC_DRIVER=C:\java\Middlegen-Hibernate-r5\lib\mysql-connector-java-3.0.15-ga-bin.jar
set HIBERNATE_HOME=C:\java\hibernate-2.1.6

set CORELIB=%HIBERNATE_HOME%\lib
set LIB=..\lib
set PROPS=%HIBERNATE_HOME%\src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-collections-2.1.1.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%LIB%\..\hibernate-tools.jar
注意红色字体提示的均是路径和JAR文件名,一定要正确。
5、运行hibernate-extensions,根据hbm.xml产生POJO文件
在DOS中运行hbm2java c:\sample\org\hibernate\sample\*.xml --output=c:\sample\
分享到:
评论

相关推荐

    eclipse从数据库逆向生成Hibernate实体类

    eclipse从数据库逆向生成Hibernate实体类

    eclipse由数据库反向生成hibernate实体类(图解).doc

    有图解说明,直观学习,同学们可以对着图解进行操作

    Eclipse数据库hibernate反向生成数据库类

    Eclipse数据库hibernate反向生成数据库类 在本篇文章中,我们将详细介绍如何使用Eclipse中的Hibernate插件反向生成数据库实体类。首先,我们需要安装Hibernate Tools,下载地址为...

    生成hibernate实体类

    本话题主要围绕如何根据数据库中的表生成Hibernate实体类进行展开。 首先,我们需要理解Hibernate实体类的作用。实体类是与数据库表对应的Java类,它们包含了表的字段和相关属性,以及由Hibernate提供的getter和...

    eclipse中,由数据库反向生成hibernate实体类.pdf

    在Eclipse中,使用Hibernate工具反向工程生成实体类是一个高效的方法,可以帮助开发者快速地将数据库结构转换为Java对象,从而简化开发流程。以下详细解释了如何在Eclipse中进行这个过程,特别是针对SQL Server 2000...

    实体类模型构建(根据数据库自动生成实体类)

    对于Java开发,Eclipse提供了强大的代码自动生成工具,包括从数据库生成实体类。 JDK1.7是Java Development Kit的一个版本,包含了Java运行环境和开发工具。虽然现在已经有更新的JDK版本,但JDK1.7仍然在许多项目中...

    eclipse自动生成实体类

    7. **添加ORM注解**:如果你使用的是ORM框架,如Hibernate,还需要在生成的实体类中添加相应的注解,如`@Entity`、`@Table`、`@Id`等,以便框架能正确地映射数据库表和字段。 8. **持久化操作**:现在,你可以使用...

    数据库表一键生成实体类豪华版工具.rar

    数据库表一键生成实体类工具是开发过程中非常实用的辅助软件,尤其在大型项目中,能够极大地提高开发效率。本工具支持多种数据库类型,包括MySQL和SQL等,可以自动生成JAVA和C#等编程语言的实体类。这不仅节省了手动...

    eclipse 通过hibernate由实体类生成数据库对应表

    通过hibernate插件 直接将实体类 映射生成对应的数据库表

    Eclipse plugin (hibernate生成工具)

    3. **生成Hibernate配置文件(hbm.xml)**:自动创建每个实体类的Hibernate映射文件,描述对象与表之间的关系。 4. **创建Hibernate SessionFactory**:基于配置文件,插件可以帮助创建SessionFactory,这是访问...

    myeclipse与hibernate―反向生成实体类和DAO

    在本文中,我们将介绍如何使用MyEclipse和Hibernate反向生成实体类和DAO。 一、MyEclipse和Hibernate简介 MyEclipse是一个功能强大且易于使用的IDE,它提供了很多实用的功能和插件,例如代码完成、代码重构、调试...

    生成实体类 hibernate

    在生成的实体类中,我们还可以看到其他常用的注解,如`@Basic`、`@Temporal`(针对日期时间类型)和`@OneToMany`、`@ManyToOne`、`@ManyToMany`(用于建立关联关系)。这些注解使得Hibernate能理解类与类之间的关系...

    Eclipse Hibernate Synchronizer插件操作数据库

    在映射过程中,Hibernate Synchronizer提供了可视化工具,允许你选择数据库表并生成对应的Hibernate实体类。它会自动生成包含注解的Java类,如`@Entity`、`@Table`、`@Column`等,这些注解定义了对象如何映射到...

    hibernate实体生成工具

    **hibernate实体生成工具**是开发者在使用Hibernate框架时常用的一种辅助工具,它能够自动生成与数据库表对应的Java实体类,大大节省了手动编写代码的时间,提高了开发效率。Hibernate是一个强大的对象关系映射(ORM...

    Eclipse上使用Hibernate

    本文将指导您在 Eclipse 环境中使用 Hibernate,包括下载和安装 Hibernate、配置 Hibernate、生成实体类和 DAO 类、添加映射资源等步骤。 下载和安装 Hibernate 首先,您需要下载 Hibernate 并将其添加到项目中。...

    hibernate eclipse插件生成dao样例

    3. 创建实体类:利用插件,开发者可以基于数据库表或已有的模式文件生成对应的Java实体类。 4. 编写映射文件:实体类对应的数据表映射文件(hbm.xml)可以由插件自动生成,描述实体类与数据库表的关系。 5. 生成DAO...

    数据库实体生成工具

    数据库实体生成工具是一种高效开发辅助软件,主要用于将数据库中的表结构自动转化为编程语言中的实体类。这个工具大大简化了开发过程中的数据访问层代码编写工作,提高了开发效率,尤其是在大型项目中,涉及到大量的...

    hibernate3.0 和数据库生成pojo类的工程方法

    类中的属性通常使用`@Column`注解来指定其在数据库表中的映射,主键字段会使用`@Id`注解。 7. **映射文件的生成**: `.hbm.xml`文件是Hibernate的映射文件,它定义了类和表之间的关系,包括字段映射、关联规则等。...

    java根据数据库自动生成vo 类

    使用Hibernate的逆向工程工具,如`hibernate-tools`,可以快速从数据库中生成实体类。这个过程包括读取数据库模式,创建Java类,并自动添加字段、getter、setter方法以及注解。 2. MyBatis: MyBatis 提供了`...

    eclipse 下的hibernate tools

    6. **逆向工程**:逆向工程功能允许从现有数据库生成实体类和映射文件,对于已有数据库的应用程序开发非常有用。 7. **HQL(Hibernate Query Language)支持**:HQL是Hibernate提供的面向对象的查询语言,类似于SQL...

Global site tag (gtag.js) - Google Analytics