1. 程式人生 > >MyBatis反向生成Java實體類和Mapper對映檔案

MyBatis反向生成Java實體類和Mapper對映檔案

首先在maven中新增 mybatis-generator-maven-plugin 外掛

        <plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.2</version>
          <configuration>
            <!--配置檔案的位置-->
            <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
            <verbose>true</verbose>
            <overwrite>true</overwrite>
          </configuration>
          <executions>
            <execution>
              <id>Generate MyBatis Artifacts</id>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

並在maven中新增mybatis-generator-core依賴

    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>

在resources資原始檔資料夾下建立generatorConfig.xml配置檔案,此配置檔案被mybatis-generator外掛用來反向生成實體類和Mapper對映檔案

<?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">

<!--此配置檔案被mybatis-generator外掛用來反向生成實體類和Mapper對映檔案-->
<generatorConfiguration>
    <!--mysql 連線資料庫jar 這裡選擇自己本地位置-->
    <classPathEntry location="F:\Test\mysql-connector-java-8.0.13.jar" />
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="false" />
        </commentGenerator>
        <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost/mybatis"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和
           NUMERIC 型別解析為java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetProject:生成Java實體類的位置 -->
        <javaModelGenerator targetPackage="com.ogms.domain"
                            targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
            <!-- 從資料庫返回的值被清理前後的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper對映檔案生成的位置-->
        <sqlMapGenerator targetPackage="mybatis"
                         targetProject="src/main/resources">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper介面生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.ogms.domain"
                             targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定資料庫名和表名 -->
        <table schema="mybatis" tableName="user"></table>
        <table schema="mybatis" tableName="role"></table>
    </context>
</generatorConfiguration>

添加註釋的地方要格外注意

在IDEA中配置執行引數,選擇Edit Configurations:

在Run Configurations中選擇【+】,然後選擇Maven,在Name中輸入自定義名稱,Command Line中輸入mybatis-generator:generate -e (固定格式),最後點選OK。

將run 按鈕處的配置引數選擇成剛才配置的,然後點選執行。

即可生成實體類檔案、mapper對映檔案和mapper介面檔案

參考:https://blog.csdn.net/u013161278/article/details/80356288