1. 程式人生 > >Mybatis 自動生成程式碼工具--mybatis-gennerator外掛

Mybatis 自動生成程式碼工具--mybatis-gennerator外掛

雖然很多人寫過類似的blog,俗話說好記性不如爛筆頭,還是自己寫寫記得牢,順便默數下
mybatis-gennerator
外掛的前世今生。

主要是為了簡化程式碼,節省時間

1.maven專案中pom.xml檔案

通過配置外掛,讓maven在執行install的時候,自動重新生成程式碼,因為生成的程式碼中包含mybatis包中的類,所以也需要引入該包。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.jacksoft.mybatis</groupId> <artifactId>mybatis-generator</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <mybatis-generator.version
>
1.3.1</mybatis-generator.version> <mysql.version>5.1.13</mysql.version> <mybatis.version>3.0.3</mybatis.version> </properties> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId
>
<version>${mysql.version}</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>${mybatis-generator.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> </dependencies> <build> <finalName>mybatis-generator</finalName> <plugins> <!--這段plugin就可以了--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <!--可移動--> <verbose>true</verbose> <!--可覆蓋--> <overwrite>true</overwrite> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>

建立mysqlGeneratorConfig.xml檔案

在src/main/resources/config目錄下面建立mysqlGeneratorConfig.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>
    <!-- 資料庫驅動-->
   <classPathEntry  location="D:\\m2\\repository2\mysql\\mysql-connector-java\\5.1.30\\mysql-connector-java-5.1.30.jar"/>
    <context id="DB2Tables"  targetRuntime="MyBatis3">    
        <commentGenerator>    
            <property name="suppressDate" value="true"/>    
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->    
            <property name="suppressAllComments" value="true"/>    
        </commentGenerator>    
        <!--資料庫連結URL,使用者名稱、密碼 -->    
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test1" userId="root" password="1111">    
        </jdbcConnection>    
        <javaTypeResolver>    
            <property name="forceBigDecimals" value="false"/>    
        </javaTypeResolver>    
        <!-- 生成模型的包名和位置-->    
        <javaModelGenerator targetPackage="com.example.pojo" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>    
            <property name="trimStrings" value="true"/>    
        </javaModelGenerator>    
        <!-- 生成對映檔案的包名和位置-->    
        <sqlMapGenerator targetPackage="com.example.mapping" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>    
        </sqlMapGenerator>    
        <!-- 生成DAO的包名和位置-->    
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>    
        </javaClientGenerator>    
        <!-- 要生成的表 tableName是資料庫中的表名或檢視名 domainObjectName是實體類名-->
        <table tableName="user_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 
</context>
</generatorConfiguration>

生成程式碼

到這裡就差不多了,儲存為該檔案後,實際上就已經開始生成程式碼了,但是在source code介面,還是看不到程式碼,我們通過重新整理或者 右鍵專案-->Maven-->Update Project Configuration這樣就把生成的程式碼找到了,具體如下圖

 專案配置:

當然也可以用cmd命令列生成程式碼

jar包放在該目錄下,如上圖所示,在該目錄下,按住Shift鍵,右鍵滑鼠開啟cmd,輸入java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite,即可。

結尾

這裡解釋下,文中可能有借鑑大神們的部分經驗,表示感謝,但是僅供自我經驗積累,謝謝。