mybatis generator結合maven與ant完成數據庫的逆向工程

    公司的項目使用了mybatis,xml中的增刪改查方法如果自己寫還是很煩心的,因此
琢磨琢磨逆向工程。這個說起來簡單,但是中間還是有不少坑的,特別是結合了maven以後。

    下面進入正題:

1.由於用到了maven所以很多東西要從pom.xml中開始,下面配置是配置
mybatis-generator在maven中的插件
<plugin>  
    <groupId>org.mybatis.generator</groupId>  
    <artifactId>mybatis-generator-maven-plugin</artifactId>  
    <version>1.3.5</version>  
    <!-- 插件的初始配置 -->  
     <configuration>  
        <!-- 指定插件運行的generator.xml文件位置 -->          <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>  
        <!-- 允許移動生成的文件-->  
        <verbose>true</verbose>  
        <!-- 允許覆蓋生成的文件-->  
        <overwrite>true</overwrite>  
    </configuration> 
    <!-- 下面的jar必須要在此處引入,如果在外部引入則會出現找不到jar的異常 -->
    <dependencies>  
         <dependency>  
             <groupId>mysql</groupId>  
             <artifactId>mysql-connector-java</artifactId>  
              <!-- 引用依賴庫的版本 -->
             <version>6.0.3</version>  
         </dependency>  
         <dependency>  
             <groupId>org.mybatis.generator</groupId>  
             <artifactId>mybatis-generator-core</artifactId>  
             <version>1.3.5</version>  
         </dependency>  
         <dependency>  
             <groupId>org.mybatis</groupId>  
             <artifactId>mybatis</artifactId>  
             <!-- 引用依賴庫的版本 -->
             <version>3.4.1</version>  
         </dependency>  
     </dependencies>
</plugin> 
2.數據庫以及生成後的類存放的路徑配置(該配置文件通常爲generatorConfig.properties,可自定義)
#數據庫配置,此處所有的參數後都不能有空格,否則會報錯,url後接時區是因爲mysql-connector-java的版本因素
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=GMT&useUnicode=true&characterEncoding=utf8&useSSL=true
jdbc.username=root
jdbc.password=12345678

#下面兩句配置的類的包路徑
package.entityName=tanxz.common.entity
package.className=learnForSSM.tanxz.dao
#properties文件中還可以配置,實體類名,對應表名,等等...
3.數據庫配置後,則可以配置generator的真正配置文件了(通常命名爲generatorConfig.xml,可自定義)
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
<generatorConfiguration>  
    <properties url="file:////D:\workspace\dataManager\src\main\resources\generator\generatorConfig.properties"></properties> 
        <!--不需要在這裏配置,因爲找不到-->  
    <!-- <classPathEntry  
        location="C:\Users\szyh-tanxz\.m2\repository\mysql\mysql-connector-java\6.0.3\mysql-connector-java-6.0.3.jar" /> -->  
    <context id="baseTradeTables" targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressAllComments" value="true" />  
        </commentGenerator>  
        <!-- properties中的數據庫地址、用戶名、密碼 -->  
        <jdbcConnection driverClass="${jdbc.driverClassName}"  
            connectionURL="${jdbc.url}" userId="${jdbc.username}"  
            password="${jdbc.password}">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="true" />  
        </javaTypeResolver>  
        <!-- 後臺生成 -->  
        <!-- model targetPackage則是properties中的包路徑 -->  
        <javaModelGenerator targetPackage="${package.entityName}"  
            targetProject="src/test/java">  
            <property name="enableSubPackages" value="true" />  
            <property name="trimStrings" value="true" />  
        </javaModelGenerator>  

        <!-- Mapper映射 -->  
        <sqlMapGenerator targetPackage="${package.className}"  
            targetProject="src/test/java">  
            <property name="enableSubPackages" value="true" />  
        </sqlMapGenerator>  
        <!-- Mapper接口 -->  
        <javaClientGenerator type="XMLMAPPER"  
            targetPackage="${package.className}" targetProject="src/test/java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 表該項配置中只有tableName(表名)和domainObjectName(實體名)兩項是必須的 -->  
        <table tableName="user" domainObjectName="user" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"/>  
    </context>  
</generatorConfiguration>
4.ant配置文件:項目根目錄下創建名爲build.xml的文件
<?xml version="1.0" encoding="UTF-8"?>  
<!--mybatis-generator:generate project的name改爲自己的項目名-->  
<project name="dataManager" default="compiler">  
<target name="compiler">  
  <property name="dir.compiler.home" location="." />    
  <exec executable="cmd" failonerror="true" dir="${dir.compiler.home}">  
     <arg line="/c mvn -X mybatis-generator:generate" />  
   </exec>  
</target>  
</project> 
5.以上步驟都做完之後就,maven install,然後右鍵build.xml文件run ant build即可

注:我所使用的環境爲:mysql5.7,mysql-connector-java6.0.3,java8

附:本文參考網址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章