在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 ,即可生成配置文件和映射文件
分享到:
相关推荐
本文将详细介绍如何在MyEclipse环境中利用XDoclet生成HBM文件。 首先,确保你的开发环境是Eclipse 3.0.1和MyEclipse 3.8.3。这两个工具集成了对XDoclet的支持,使得生成HBM文件变得简单易行。根据Hibernate ...
XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的Javadoc注释,自动生成各种文件,如部署描述符(Deployment Descriptor)、持久化映射文件(Hibernate Mapping Files)、EJB组件接口和服务端的类...
在该表上右键选择相应的逆向工程选项,如“Generate Java Source from Tables”,MyEclipse将根据表结构生成对应的Java实体类和Hibernate映射文件。 通过以上步骤,无论是正向还是逆向工程,都可以高效地实现Java...
在类中添加必要的Xdoclet注释以支持后续的映射文件生成。 - **属性声明**:例如`private Long categoryId;`等。 - **Xdoclet注释**:用于指导映射文件的生成,如`@hibernate.class`、`@hibernate.id`等。 ##### 2...
- 在`hibernate.cfg.xml`配置文件中设置数据库连接信息,并将`hibernate.hbm2ddl.auto`设置为`create`,重启Tomcat即可根据映射文件生成数据库表。 #### 三、逆向工程 逆向工程则是指从已有的数据库表结构出发,...
- **结果**:执行完以上步骤后,MyEclipse会自动生成对应于每个POJO类的Hibernate映射文件。这些文件定义了实体类与数据库表之间的映射关系。 #### 二、Hibernate逆向工程 ##### 定义 Hibernate逆向工程则是指从...
在文本中,可以看到对Xdoclet的使用细节,包括如何生成Hibernate映射文件(如hbm.xml)和Java源代码。 3. 文本中还展示了具体的Java类定义示例,其中包含了Hibernate的注解,如`@hibernate.class`、`@hibernate.id`...
- XDoclet是一种用于生成代码和其他文件的工具,可以自动为Hibernate生成所需的映射文件。 - 通过XDoclet注释的方式,可以在Java类中直接定义Hibernate的映射规则。 - **数据检索**: - **Criteria API**:提供...