`

在MyEclipse中利用XDoclet自动生成Hibernate配置和映射文件

阅读更多
在MyEclipse中利用XDoclet自动生成Hibernate配置和映射文件
在使用Hibernate框架时,如果实体类一多,在映射文件中需要配置的映射就会增多,如果手工做的话,经常会出现写错的情况,利用XDoclet工具可以自动地生成映射文件和配置文件,只要注解写正确了几乎避免了出错的可能。

XDoclet基于ant,先要下解压ant,配置好ant的环境变量才能使用XDoclet。在ant已经配置好后,下载XDoclet-pliugins-1.03.zip包,解压到某个目录即可使用(这里解压到D:\)



在MyEclipse中使用XDoclet的基本步骤:



1、  建立ant脚本build.xml



<?xml version="1.0" encoding="GBK"?>

<project name="XdocletTest系统构建脚本" default="生成Hibernate配置文件" basedir=".">



   <property name="src.dir" value="${basedir}/src"/>

    <property name="xdoclet.home" value="D:/xdoclet-plugins-1.0.3"/>



   <!-- Build classpath -->

   <path id="xdoclet.task.classpath">

         <fileset dir="${xdoclet.home}/lib">

         <include name="**/*.jar"/>

         </fileset>

         <fileset dir="${xdoclet.home}/plugins">

         <include name="**/*.jar"/>

         </fileset>

   </path>

    <taskdef

       name="xdoclet"

       classname="org.xdoclet.ant.XDocletTask"

       classpathref="xdoclet.task.classpath"

    />

  

    <target name="生成Hibernate配置文件">

       <xdoclet>

           <fileset dir="${src.dir}/org/zc/xdoclet/model">

              <include name="**/*.java"/>

           </fileset>      

           <component

              classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"

              destdir="${src.dir}"

              version="3.0"

              hbm2ddlauto="update"

              jdbcurl="jdbc:mysql://127.0.0.1/xdoclettest"

              jdbcdriver="com.mysql.jdbc.Driver"

              jdbcusername="root"

              jdbcpassword="root"

              dialect="org.hibernate.dialect.MySQLDialect"

              showsql="true"

           />

       </xdoclet>

    </target>

    <target name="生成hibernate映射文件">

       <xdoclet>

           <fileset dir="${src.dir}/org/zc/xdoclet/model">

              <include name="**/*.java"/>

           </fileset>

           <component

              classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"

              version="3.0"

              destdir="${src.dir}"

           />

       </xdoclet>

    </target>

</project>

说明:

        注释<!-- Build classpath -->以上的脚本意图在找到xdoclet的目录,

        注释以下的内容主要做了以下三件事:

①     找到并导入xdoclet下的所有jar包;

②     自定义脚本生成Hibernate配置文件hibernate.cfg.xml ,这里定义了数据库方言及一些常用的属性;

③     自定义脚本生成Hibernate映射文件,根据已经写好了的含有xdoclet注解的java实体类自动生成映射文件。



2、  定义实体类并写注解。

实体类User.java

package org.zc.xdoclet.model;

/**

* @author pouger

* @hibernate.class table="t_user"

*/

public class User {

    private int id;

    private String name;

    private String password;

    private Group group;



    /**

     * @hibernate.id

     *      generator-class="native"

     */

    public int getId() {

       return id;

    }

    public void setId(int id) {

       this.id = id;

    }

    /**

     *@hibernate.property

     */

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    /**

     *@hibernate.property

     */

    public String getPassword() {

       return password;

    }

    public void setPassword(String password) {

       this.password = password;

    }

    /**

     *@hibernate.many-to-one

     */

    public Group getGroup() {

       return group;

    }

    public void setGroup(Group group) {

       this.group = group;

    }

}



实体类Group.java

package org.zc.xdoclet.model;



/**

* @author pouger

* @hibernate.class table="t_group"

*/

public class Group {

    private int id;

    private String name;



    /**

     * @hibernate.id

     *      generator-class="native"

     */

    public int getId() {

       return id;

    }

    public void setId(int id) {

       this.id = id;

    }

    /**

     * @hibernate.property

     */

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

}



说明:

实体类中的注解(如@hibernate.property)用来标明映射文件的属性配置,包括生成的数据库表的名字、主键的生成方式、是否启用hbm2ddl、对象间的对应关系等。如果想要指定对象在数据库表中的字段值和类型,只需在实体类的注解中声明即可。



3、 在MyEclipse中利用XDoclet自动生成Hibernate配置文件和映射文件

①        在MyEclipse中加入XDoclet---

右击项目,依次打开properties >> MyEclipse >> XDoclet >> Add Standard… ,选中Standard Hibernate ,点击OK即可加入XDoclet

②        自动生成Hibernate配置文件和映射文件---

右击项目,点击MyEclipse >> Run XDoclet ,即可生成配置文件和映射文件
分享到:
评论

相关推荐

    xdoclet 生成hbm文件

    本文将详细介绍如何在MyEclipse环境中利用XDoclet生成HBM文件。 首先,确保你的开发环境是Eclipse 3.0.1和MyEclipse 3.8.3。这两个工具集成了对XDoclet的支持,使得生成HBM文件变得简单易行。根据Hibernate ...

    XDOCLET的使用例子

    XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的Javadoc注释,自动生成各种文件,如部署描述符(Deployment Descriptor)、持久化映射文件(Hibernate Mapping Files)、EJB组件接口和服务端的类...

    myeclipse使用hibernate正向工程和逆向工程

    在该表上右键选择相应的逆向工程选项,如“Generate Java Source from Tables”,MyEclipse将根据表结构生成对应的Java实体类和Hibernate映射文件。 通过以上步骤,无论是正向还是逆向工程,都可以高效地实现Java...

    新建 Micro用ant执行POJO自动生成映射文件及数据表soft Word 文档

    在类中添加必要的Xdoclet注释以支持后续的映射文件生成。 - **属性声明**:例如`private Long categoryId;`等。 - **Xdoclet注释**:用于指导映射文件的生成,如`@hibernate.class`、`@hibernate.id`等。 ##### 2...

    hibernate正向工程和逆向工程

    - 在`hibernate.cfg.xml`配置文件中设置数据库连接信息,并将`hibernate.hbm2ddl.auto`设置为`create`,重启Tomcat即可根据映射文件生成数据库表。 #### 三、逆向工程 逆向工程则是指从已有的数据库表结构出发,...

    hibernate正向工程和方向工程

    - **结果**:执行完以上步骤后,MyEclipse会自动生成对应于每个POJO类的Hibernate映射文件。这些文件定义了实体类与数据库表之间的映射关系。 #### 二、Hibernate逆向工程 ##### 定义 Hibernate逆向工程则是指从...

    myeclipse对象建模设计.txt

    在文本中,可以看到对Xdoclet的使用细节,包括如何生成Hibernate映射文件(如hbm.xml)和Java源代码。 3. 文本中还展示了具体的Java类定义示例,其中包含了Hibernate的注解,如`@hibernate.class`、`@hibernate.id`...

    Hibernate开发指南

    - XDoclet是一种用于生成代码和其他文件的工具,可以自动为Hibernate生成所需的映射文件。 - 通过XDoclet注释的方式,可以在Java类中直接定义Hibernate的映射规则。 - **数据检索**: - **Criteria API**:提供...

Global site tag (gtag.js) - Google Analytics