使用Ant运行 MyBatis Generator

MyBatis Generator (MBG) 包含一个简单的 Ant 任务。这个任务必须定义在您的 build.xml 文件中。任务可以几个参数。这里是一个 build.xml 文件的例子:

   <project default="genfiles" basedir=".">
     <property name="generated.source.dir" value="${basedir}" />

     <target name="genfiles" description="Generate the files">
       <taskdef name="mbgenerator"
                classname="org.mybatis.generator.ant.GeneratorAntTask"
                classpath="mybatis-generator-core-x.x.x.jar" />
       <mbgenerator overwrite="true" configfile="generatorConfig.xml" verbose="false" >
         <propertyset>
           <propertyref name="generated.source.dir"/>
         </propertyset>
       </mbgenerator>
     </target>
   </project>

MyBatis Generator 任务属性如下:

属性
configfile (必须的) 指定配置文件的名称。
overwrite (可选的) 如果指定了该参数,如果生成的java文件存在已经同名的文件,新生成的文件会覆盖原有的文件。 如果没有指定该参数,如果存在同名的文件,MBG会给新生成的代码文件生成一个唯一的名字(例如: MyClass.java.1, MyClass.java.2 等等)。 重要: 生成器一定会自动合并或覆盖已经生成的XML文件。
contextids (可选的) 如果指定了该参数,逗号隔开的这些context会被执行。 这些指定的context必须和配置文件中 <context> 元素的 id 属性一致。 只有指定的这些contextid会被激活执行。如果没有指定该参数,所有的context都会被激活执行。
tables (可选的) 如果指定了该参数,逗号隔开的这个表会被运行, 这些表名必须和 <table> 配置中的表面完全一致。只有指定的这些表会被执行。 如果没有指定该参数,所有的表都会被执行。 按如下方式指定表明:

table
schema.table
catalog..table
等等。
verbose (可选的) 如果设置为 "true", "yes"等等,MBG会将操作信息输出到 ant 控制台 (如果 Ant 在verbose模式下运行)。默认值是 "false"。

注意:

  • <taskdef>标记中的类路径用于告诉 Ant MBG JAR 文件在哪里。 这是可选的,除非您将 MBG 添加到 Ant 类路径中 Ant 手册所描述的其他地方。
  • 任务的名称可以使任何您想要的, "mbgenerator" 只是一个简单的例子。
  • 该任务支持可选嵌套的 < propertyset > 元素,这是标准的 Ant 属性设置的类型。 这可以用于将参数传递到配置文件。例如,上面提到 generated.source.dir这个属性可以在配置文件中使用${generated.source.dir}进行使用。
  • 如果没有指定配置文件中的一个属性,这个属性将会原样输出。