ant 自动生成dojo模板
时间:2010-06-20 来源:mingjwan
<?xml version="1.0" encoding="GBK" ?>
<project name ="hibernate-tutorial" default ="codegen" >
<!--定义变量-->
<property name ="sourcedir" value ="${basedir}/src" />
<property name ="targetdir" value ="${basedir}/bin" />
<property name ="librarydir" value ="D:/wanjm/java/hb/lib" />
<property name ="schema.dir" value ="${basedir}/data" />
<!--定义classpath。使用path定义,主要是因为其中需要添加jar文件-->
<path id ="project.class.path" >
<!-- Include our own classes, of course -->
<pathelement location ="${sourcedir}" />
<!-- Include jars in the project library directory -->
<fileset dir ="${librarydir}" >
<include name ="*.jar" />
</fileset >
</path >
<!--定义工作目标,等价于makefile的冒号左边的部分-->
<target name ="compile" >
<javac srcdir ="${sourcedir}"
destdir ="${targetdir}"
classpathref ="project.class.path" />
</target >
<target name ="run" depends ="compile" >
<java fork ="true" classname ="Test" classpathref ="project.class.path" >
<classpath path ="${targetdir}" />
<arg value ="${action}" />
</java>
</target>
<!--下面是定义生成模板-->
<taskdef name ="tool"
classname ="org.hibernate.tool.ant.HibernateToolTask"
classpathref ="project.class.path" />
<target name ="codegen" description ="Generate Java source from the O/R mapping files" >
<tool destdir ="${sourcedir}" >
<!--定义hbm.xml的位置-->
<configuration configurationfile="src/hibernate.cfg.xml" >
<fileset dir="${sourcedir}" id="id">
<include name="**/*.hbm.xml"/>
</fileset>
</configuration>
<!--运用模板生成自己想要的类-->
<hbmtemplate templatepath="template" template="dao/daohome"
filepattern="{package-name}/{class-name}Dao.java">
<property key="ejb3" value="false"/>
<property key="jdk5" value="true"/>
</hbmtemplate>
<!--生成pojo类,其实hbm2java,hbm2dao都是hbmtemplate的一个简化版本,可以用宏理解
其中hbm2java等价于:但是此处的模板位置都是在heibernate-tool.jar中。如果需要自定义模板,则需要明确编写hbmtemplate。
-->
<hbm2java jdk5="true"/>
<!--生成创建数据库的sql。并创建数据表(export=true)负责-->
<hbm2ddl export="true" outputfilename="aa.sql" drop="true"/>
</tool>
</target >
<!-- 该部分功能等价于上面的hbm2ddl。是另一种实现
<taskdef name="hbm2ddl"
classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
classpathref="project.class.path"/>
<target name="create_table">
<!--自定义的tool后面的这些属性。实际换成命令的参数。如config换成命令后为--config。-->
<hbm2ddl
config="src/hibernate.cfg.xml"
quiet="no"
text="no"
drop="no"
delimiter=";"
output="schema-export.sql">
<fileset dir="src">
<include name="**/*.hbm.xml"/>
</fileset>
</hbm2ddl>
</target>
-->
</project >
要完成用ant编写这些工作。需要一些hibernate-tool中的jar同时工作。该jar为/plugins/org.hibernate.eclipse.x.x.x/lib/tools/hibernate-tools.jar,为了可以工作。最好把相应tool目录后外面的lib目录全部下载。
关于帮助可以在org.hibernate.eclipse.help****的doc。zip文件中。
<project name ="hibernate-tutorial" default ="codegen" >
<!--定义变量-->
<property name ="sourcedir" value ="${basedir}/src" />
<property name ="targetdir" value ="${basedir}/bin" />
<property name ="librarydir" value ="D:/wanjm/java/hb/lib" />
<property name ="schema.dir" value ="${basedir}/data" />
<!--定义classpath。使用path定义,主要是因为其中需要添加jar文件-->
<path id ="project.class.path" >
<!-- Include our own classes, of course -->
<pathelement location ="${sourcedir}" />
<!-- Include jars in the project library directory -->
<fileset dir ="${librarydir}" >
<include name ="*.jar" />
</fileset >
</path >
<!--定义工作目标,等价于makefile的冒号左边的部分-->
<target name ="compile" >
<javac srcdir ="${sourcedir}"
destdir ="${targetdir}"
classpathref ="project.class.path" />
</target >
<target name ="run" depends ="compile" >
<java fork ="true" classname ="Test" classpathref ="project.class.path" >
<classpath path ="${targetdir}" />
<arg value ="${action}" />
</java>
</target>
<!--下面是定义生成模板-->
<taskdef name ="tool"
classname ="org.hibernate.tool.ant.HibernateToolTask"
classpathref ="project.class.path" />
<target name ="codegen" description ="Generate Java source from the O/R mapping files" >
<tool destdir ="${sourcedir}" >
<!--定义hbm.xml的位置-->
<configuration configurationfile="src/hibernate.cfg.xml" >
<fileset dir="${sourcedir}" id="id">
<include name="**/*.hbm.xml"/>
</fileset>
</configuration>
<!--运用模板生成自己想要的类-->
<hbmtemplate templatepath="template" template="dao/daohome"
filepattern="{package-name}/{class-name}Dao.java">
<property key="ejb3" value="false"/>
<property key="jdk5" value="true"/>
</hbmtemplate>
<!--生成pojo类,其实hbm2java,hbm2dao都是hbmtemplate的一个简化版本,可以用宏理解
其中hbm2java等价于:但是此处的模板位置都是在heibernate-tool.jar中。如果需要自定义模板,则需要明确编写hbmtemplate。
<hbmtemplate
templateprefix="pojo/"
template="pojo/Pojo.ftl"
filepattern="{package-name}/{class-name}.java">
<property key="jdk5" value="true" />
<property key="ejb3" value="true" />
</hbmtemplate>
-->
<hbm2java jdk5="true"/>
<!--生成创建数据库的sql。并创建数据表(export=true)负责-->
<hbm2ddl export="true" outputfilename="aa.sql" drop="true"/>
</tool>
</target >
<!-- 该部分功能等价于上面的hbm2ddl。是另一种实现
<taskdef name="hbm2ddl"
classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
classpathref="project.class.path"/>
<target name="create_table">
<!--自定义的tool后面的这些属性。实际换成命令的参数。如config换成命令后为--config。-->
<hbm2ddl
config="src/hibernate.cfg.xml"
quiet="no"
text="no"
drop="no"
delimiter=";"
output="schema-export.sql">
<fileset dir="src">
<include name="**/*.hbm.xml"/>
</fileset>
</hbm2ddl>
</target>
-->
</project >
要完成用ant编写这些工作。需要一些hibernate-tool中的jar同时工作。该jar为/plugins/org.hibernate.eclipse.x.x.x/lib/tools/hibernate-tools.jar,为了可以工作。最好把相应tool目录后外面的lib目录全部下载。
关于帮助可以在org.hibernate.eclipse.help****的doc。zip文件中。
相关阅读 更多 +