• ant深入浅出(一)ant+xdoclet 生成hibernate配置文件以及实体映射文件


    1. 前言
      1. 作为一个学习生物学的人,应该知道它是蚂蚁的意思,蚂蚁(ant)属节肢动物门,昆虫纲,膜翅目,蚁科。在众多的科中有的还分了亚科,用来区分更多的种类,
      2. 蚂蚁是地球上最常见的昆虫,数量最多的昆虫种类。由于各种蚂蚁都是社会性生活的群体,在古代通称“蚁”。据现代形态科学分类,蚁可分两大种群:蚂蚁类和白蚁类。
      3. 蚁族的特征是体积小、数量多,往往是成群结队的出行,在软件领域之所以用ant来命名命名,可能是项目开发步骤之多可与蚂蚁的数量相媲美,它们有着共同的特征因此ant代表着管理无数个微小构建过程的意思。
    2. ant
      1. java项目开发的过程如此繁多,多如牛毛往往让我们做了这里忘了那里,尤其是在维护的过程中好多地方需要手动维护,若都靠大脑来记住会很乱,在忙碌的工作中难免会出一些错误,为了把一些类似或者重要的过程构建集中管理,我们引入了ant工具,它可以帮助我们构建特殊任务。
      2. 当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,在C语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。
      3. 除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
      4. 当然它也可以同别的框架集成,完成自定义任务,只需要在build.xml文件中引入用到的jar包即可,操作简单方便,下面以通过一个简单的小例子说明,如何搭建环境以及ant怎么使用。
    3. 讨论
      1. 学习的东西多了就会容易迷惑,大家都知道ORM(hibernate)可以通过实体类生成表,它可以采用两种方式第一种实体映射文件、第二种是JPA注解方式,如果通过注解方式生成关系表,那么就不需要应用xdoclet生成配置文件了,只有通过配置文件生成表时才会用到ant+xdoclet
    4. 环境搭建以及构建任务
      1. 环境搭建的基础一定要把java最基本的IDE环境搭建好,里面重要的是设置PATHCLASSPATHJAVA_HOME三个环境变量,在这基础之上才能搭建ant,设置ANT_HOME环境变量,并添加到PATH中,在cmd运行输入ant,出现下图表示安装成功。

      2. 下载xdoclet解压,然后,添加到ant中:

        1. 然后,在项目根目录里面加入build.xml构建文件,代码如下:
        2. <?xml version="1.0" encoding="GBK"?>
          <project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir=".">
          	<!--后面的构建任务中可能会用到的一些基本属性-->
             	<property name="src.dir" value="${basedir}/src"/>
             	<property name="build.dir" value="${basedir}/bin"/>
          	<property name="webapp.dir" value="${basedir}/src/webapp"/>
          	<property name="xdoclet.home" value="D:/xdoclet/xdoclet-plugins-1.0.3"/>
          	
             	<!-- Build classpath 构建任务可能用到的依赖jar包路径-->
             	<path id="xdoclet.task.classpath">
                	<fileset dir="${xdoclet.home}/lib">
                   	<include name="**/*.jar"/>
                	</fileset>
                	<fileset dir="${xdoclet.home}/plugins">
                   	<include name="**/*.jar"/>
                	</fileset>
             	</path>
          	<!-- 引用引入的jar包-->
          	<taskdef
          		name="xdoclet"
          		classname="org.xdoclet.ant.XDocletTask"
          		classpathref="xdoclet.task.classpath"
          	/>
          
          	<target name="生成Hibernate配置文件">
          		<xdoclet>
          			<fileset dir="${src.dir}/com/bjsxt/oa/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/oa_200706"
          				jdbcdriver="com.mysql.jdbc.Driver"
          				jdbcusername="root"
          				jdbcpassword="123456"
          				dialect="org.hibernate.dialect.MySQLDialect"
          				showsql="true"
          			/>
          		</xdoclet>
          	</target>
          	<target name="生成hibernate映射文件">
          		<xdoclet>
          			<fileset dir="${src.dir}/com/bjsxt/oa/model">
          				<include name="**/*.java"/>
          			</fileset>
          			<component 
          				classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
          				version="3.0"
          				destdir="${src.dir}"
          			/>
          		</xdoclet>
          	</target>
          </project>
          

    5. 学会利用工具开发可以提高开发效率,把一些重复性的工作交给计算机来处理,从石器时代过度到近代的一个重要标志就是:工具的使用。

  • 相关阅读:
    Android系统启动过程分析
    android的logcat 用法整理
    git 使用详解(10) 远程分支
    android的logcat 用法整理
    android Binder工作流程
    android Binder工作流程
    git log 小结
    linux patch 命令小结
    windows 中 \r\n 区别于 类unix中的\n 疑问 迎刃而解
    Mysql Error Code : 1436 Thread stack overrun
  • 原文地址:https://www.cnblogs.com/lilongsheng1125/p/4978556.html
Copyright © 2020-2023  润新知