`
zhoushuping
  • 浏览: 46206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在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 ,即可生成配置文件和映射文件。
附hibernate所有注解标签,详细请查看:http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html,以供日后查看:

@hibernate Tag Reference
Tags for declaration of Hibernate descriptor file

Applies to: All classes, at class level and on getter methods

@hibernate Class Level Tags
@hibernate.cache

@hibernate.class

@hibernate.discriminator

@hibernate.jcs-cache

@hibernate.joined-subclass

@hibernate.joined-subclass-key

@hibernate.mapping

@hibernate.query

@hibernate.subclass


@hibernate Method Level Tags
@hibernate.any

@hibernate.any-column

@hibernate.array

@hibernate.bag

@hibernate.collection-cache

@hibernate.collection-composite-element

@hibernate.collection-element

@hibernate.collection-index

@hibernate.collection-jcs-cache

@hibernate.collection-key

@hibernate.collection-key-column

@hibernate.collection-many-to-many

@hibernate.collection-one-to-many

@hibernate.column

@hibernate.component

@hibernate.generator-param

@hibernate.id

@hibernate.index-many-to-many

@hibernate.list

@hibernate.many-to-any

@hibernate.many-to-any-column

@hibernate.many-to-one

@hibernate.map

@hibernate.one-to-one

@hibernate.parent

@hibernate.primitive-array

@hibernate.property

@hibernate.set

@hibernate.timestamp

@hibernate.version


@hibernate Field Level Tags

分享到:
评论

相关推荐

    xdoclet 生成hbm文件

    总之,XDoclet是Java开发中的得力助手,特别是在使用Hibernate时,它能帮助开发者快速生成和维护映射文件,使得代码与数据库之间的关系更加清晰,提升了开发的效率和项目的可维护性。如果想要了解更多关于XDoclet的...

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

    在这个类中,为每个属性添加适当的Hibernate注解,如`@Id`、`@Property`等,以指示Hibernate如何映射这些属性到数据库中的字段。例如: ```java public class User { @Id @GeneratedValue(strategy = ...

    hibernate正向工程和方向工程

    - **目的**:通过这种方式,MyEclipse可以自动生成Hibernate所需的映射文件(.hbm.xml 或使用注解)。 **2. 配置MyEclipse XDoclet** - **配置方法**:为了实现正向工程,需要配置MyEclipse的XDoclet插件。具体操作...

    myeclipse对象建模设计.txt

    - **代码生成细节**:使用Xdoclet时,需要注意注解的正确性和一致性,特别是在生成Hibernate映射文件时,确保getter/setter方法与注解匹配,避免生成错误。 - **项目配置**:通过Myeclipse的项目属性,可以配置...

    hibernate正向工程和逆向工程

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

Global site tag (gtag.js) - Google Analytics