地表最詳細基于maven通用mapper代碼生成器配置,超詳細!注釋

通用 Mapper 專用代碼生成器生成的 Model 會在原有基礎上增加 @Table,@Id,@Column 等注解,方便自動會數(shù)據(jù)庫字段進行映射。

運行MBG有多種方法,這里只介紹兩種比較常見的方法。并且有關的內容會針對這樣的運行方式進行配置。

一、目錄結構

image-20200721182723494

二、pom文件

配置中的目錄可以和 <properties>都可以按需修改

 <properties>
        <!--Mybatis Generator-->
        <!--Java接口和實體類-->
        <!--${basedir} maven內置,引用工程根目錄-->

        <!--targetJavaProject:聲明源碼存放目錄位置-->
        <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
        <!--targetMapperPackage:聲明MBG生成XxxMapper接口后存放package位置-->
        <targetMapperPackage>club.codehero.mapper</targetMapperPackage>
        <!--targetModelPackage:聲明MBG生成實體類存放package位置-->
        <targetModelPackage>club.codehero.pojo</targetModelPackage>
        <!--targetResourcesProject:聲明存放資源文件和xml的目錄位置-->
        <targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
        <!--targetXXMLPackage:聲明存放具體XxxMapper.xml文件的目錄位置-->
        <targetXMLPackage>mapper</targetXMLPackage>

        <!--依賴版本-->
        <mapper.version>4.1.5</mapper.version>
        <mysql.version>5.1.26</mysql.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>${mapper.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>

                <!--配置generator.xml文件路徑-->
                <configuration>
                    <configurationFile>
                        ${basedir}/src/main/resources/generator/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>

                <!--MBG插件的依賴信息-->
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>${mysql.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>${mapper.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

三、generatorConfig.xml

generatorConfig.xml存放目錄和文件名稱必須和pom.xml中的p<configurationFile> </configurationFile>中配置的路徑一致。以上面的pom.xml為例,配置的路徑為${basedir}/src/main/resources/generator/generatorConfig.xml,可以參照一、目錄結構給的圖。

<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

    <!--引入數(shù)據(jù)庫配置文件-->
    <properties resource="db.properties"/>


    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!--配置通用Mapper的MBG插件信息-->
        <plugin type="${mapper.plugin}">
            <property name="mappers" value="${mapper.Mapper}"/>
            <property name="caseSensitive" value="true"/>
        </plugin>

        <!--配置數(shù)據(jù)庫連接信息-->
        <jdbcConnection driverClass="${jdbc.driver}"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.user}"
                        password="${jdbc.password}">
        </jdbcConnection>

        <!--配置java實體類存放位置-->
        <javaModelGenerator targetPackage="${targetModelPackage}"
                            targetProject="${targetJavaProject}"/>

        <!--配置XML配置文件(XxxMapper.xml)存放目錄位置-->
        <sqlMapGenerator targetPackage="${targetXMLPackage}"
                         targetProject="${targetResourcesProject}"/>

        <!--配置XxxMapper接口存放目錄位置-->
        <javaClientGenerator targetPackage="${targetMapperPackage}"
                             targetProject="${targetJavaProject}"
                             type="XMLMAPPER"/>

        <!--根據(jù)數(shù)據(jù)庫表生成Java文件的相關規(guī)則-->
        <!--
        tableName數(shù)據(jù)庫中參與生成的表
        tableName="%" "%"表示所有表都參與生成
        此時使用默認規(guī)則:
            t_emp -> TEMP

        單獨指定表時,可以指定命名規(guī)則
        使用tableName domainObjectName屬性指定表和要生成的實體類名稱
        -->
        <table tableName="t_emp" domainObjectName="Emp">
            <!--配置主鍵生成策略-->
            <generatedKey column="emp_id" sqlStatement="MySql" identity="true"/>
        </table>
    </context>
</generatorConfiguration>

四、db.properties

三中引入了db.peoperties文件,也可以不引入,直接在generatorConfig.xml中寫死

# Database connection information
jdbc.user=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver

# mapper
mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper=tk.mybatis.mapper.common.Mapper

五、啟動工程

  • 直接在 pom.xml 這一級目錄的命令行窗口執(zhí)行 mvn mybatis-generator:generate;
  • 按照圖片用idea帶的maven插件啟動
image-20200721184139344
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容