IDEA Maven項目的Mybatis逆向工程

IDEA Maven項目的Mybatis逆向工程

1.配置.pom

若是是在多模塊開發下,該文件逆向工程要生成的那個模塊下的pom文件。java

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.45</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

2.在項目根目錄下新建generatorConfig.xml文件

若是是在多模塊開發下,該文件逆向工程要生成的那個模塊下的根目錄下(src\main\resourse)。mysql

下面是官方文檔提供的參考文件:sql

具體配置見 4.[配置文件詳解]數據庫

<?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="/Program Files/IBM/SQLLIB/java/db2java.zip" />

  <context id="DB2Tables" targetRuntime="MyBatis3">
    <jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"
        connectionURL="jdbc:db2:TEST"
        userId="db2admin"
        password="db2admin">
    </jdbcConnection>

    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <sqlMapGenerator targetPackage="test.xml"  targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao"  targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
      <property name="useActualColumnNames" value="true"/>
      <generatedKey column="ID" sqlStatement="DB2" identity="true" />
      <columnOverride column="DATE_FIELD" property="startDate" />
      <ignoreColumn column="FRED" />
      <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
    </table>

  </context>
</generatorConfiguration>

3.運行mybatis配置文件

  • 選擇右上角運行按鈕旁邊的三角,選擇Edit Configurations

  1. 點擊+號選擇maven
  2. 自定義name
  3. 選擇項目路徑
  4. 輸入逆向工程的命令

4.注: 配置文件詳解

  • <classPathEntry>mybatis

    在pom文件中加入app

    <dependency> ​ <groupId>mysql</groupId> ​ <artifactId>mysql-connector-java</artifactId> ​ <version>5.1.45</version> </dependency>dom

    依賴後可省略;maven

  • <context>ide

    id:逆向工程的惟一標識,此值能夠被應用到一些錯誤信息;ui

    targetRuntime:此屬性用於指定生成的代碼的運行時目標。常見值爲Mybatis3,Mybatis3Simple等。

  • <jdbcConnection>

    數據庫鏈接信息,可參考數據庫的配置文件db.properties。

  • <javaTypeResolver>(非必須)

    該標籤是用來定義java類型解析器的屬性,java類型解析器是用於轉換從數據庫列名的類型對應的java類型。

  • <javaModelGenerator>

    該標籤決定逆向工程生成實體的位置。

    targetPackage決定生成在哪一個包下,默認存放在src目錄下;(com.test.entity)

    targetProject決定生成到的目標工程;(.\src\main\java)

    enableSubPackages:是否放schema做爲包的後綴;(false)

    trimString:從數據庫返回的值是否刪除先後的空格;

  • <sqlMapGenerator>

    生成XxxMapper.xml文件的位置,相似<javaModelGenerator>

    targetPackage決定生成在哪一個包下;(mappers)

    targetProject決定生成到的目標工程;(.\src\main\resourse)

    enableSubPackages:是否放schema做爲包的後綴;(false)

  • <javaClientGenerator>

    生成XxxMapper接口文件的位置,相似<javaModelGenerator>

    targetPackage決定生成在哪一個包下;(com.test.dao)

    targetProject決定生成到的目標工程;(.\src\main\java)

    enableSubPackages:是否放schema做爲包的後綴;(false)

    • 注意:在配置生成實體類,mapper接口,mapper.xml配置文件的位置時,若是要生成到不一樣的模塊中,或者有找不到文件位置時,能夠採用完整路徑的方式。
  • <table>

    schema:不用填寫;

    tableName:表名;

    domainObjectName:自動生成的實體文件名;


5.官方文檔提供的其餘功能

mybatis逆向工程在官方文檔具備很是詳細的解釋,包括對生成文件內容的定義,能夠去掉註釋,取消生成mapper文件自動生成的增刪改查等。

官方文檔地址:http://www.mybatis.org/generator/

  • 去註釋:(context下)

    是否去除全部自動生成文件的註釋:

    <commentGenerator>
      <!-- 是否去除全部自動生成的文件的時間戳:-->
      <property name="suppressDate" value="false"/>
      <!-- 是否去除全部自動生成文件的註釋:-->
      <property name="suppressAllComments" value="true"/>
    </commentGenerator>
  • 去掉實體文件下的Example實體類文件。

    <table tableName="user"
            enableCountByExample="false"
            enableUpdateByExample="false"
            enableDeleteByExample="false"
            enableSelectByExample="false"
            selectByExampleQueryId="false">
    </table>

    官方文檔還有不少功能,能夠進入官方文檔頁面查看。

相關文章
相關標籤/搜索