1. 程式人生 > >SpringBoot 新增mybatis generator 自動生成程式碼外掛

SpringBoot 新增mybatis generator 自動生成程式碼外掛

自動生成資料層程式碼,提高開發效率

1.pom新增外掛,並指定配置檔案路徑

 <!-- mybatis generator 自動生成程式碼外掛 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3
.5</version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin>

 

2.新增配製檔案 generatorConfig.xml,generator.properties

jdbc.driverLocation=E:/46maven/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/alishare?useUnicode=true&characterEncoding=utf-8
jdbc.userId=root
jdbc.password
=123456
<?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 resource="generator.properties"></properties>

    <!--指定特定資料庫的jdbc驅動jar包的位置 -->
    <classPathEntry location="${jdbc.driverLocation}"/>

    <context id="default" targetRuntime="MyBatis3">


        <!-- optional,旨在建立class時,對註釋進行控制

        <commentGenerator>
            <property name="suppressDate" value="true" />
        </commentGenerator>
 -->
        <!-- 註釋 -->
        <commentGenerator >
            <property name="suppressAllComments" value="true"/><!-- 是否取消註釋 -->
            <property name="suppressDate" value="true" /> <!-- 是否生成註釋代時間戳-->
        </commentGenerator>


        <!--jdbc的資料庫連線 -->
        <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}">
        </jdbcConnection>



        <!-- 非必需,型別處理器,在資料庫型別和java型別之間的轉換控制-->
        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類
            targetPackage     指定生成的model生成所在的包名
            targetProject     指定在該專案下所在的路徑
        -->
        <javaModelGenerator targetPackage="com.glory.study.model" targetProject="src/main/java">
            <!-- 是否對model新增 建構函式 -->
            <property name="constructorBased" value="true"/>

            <!-- 是否允許子包,即targetPackage.schemaName.tableName -->
            <property name="enableSubPackages" value="false"/>

            <!-- 建立的Model物件是否 不可改變  即生成的Model物件不會有 setter方法,只有構造方法 -->
            <property name="immutable" value="true"/>

            <!-- 是否對類CHAR型別的列的資料進行trim操作 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--Mapper對映檔案生成所在的目錄 為每一個數據庫的表生成對應的SqlMap檔案 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>


        <!-- 客戶端程式碼,生成易於使用的針對Model物件和XML配置檔案 的程式碼
                type="ANNOTATEDMAPPER",生成Java Model 和基於註解的Mapper物件
                type="MIXEDMAPPER",生成基於註解的Java Model 和相應的Mapper物件
                type="XMLMAPPER",生成SQLMap XML檔案和獨立的Mapper介面
        -->
        <javaClientGenerator targetPackage="com.glory.study.dao.mapper" targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value=""/>
            <!--
                    定義Maper.java 原始碼中的ByExample() 方法的可視性,可選的值有:
                    public;
                    private;
                    protected;
                    default
                    注意:如果 targetRuntime="MyBatis3",此引數被忽略
             -->
            <property name="exampleMethodVisibility" value=""/>
            <!--
                                           方法名計數器
              Important note: this property is ignored if the target runtime is MyBatis3.
             -->
            <property name="methodNameCalculator" value=""/>

            <!--
                                                為生成的介面新增父介面
             -->
            <property name="rootInterface" value=""/>

        </javaClientGenerator>


        <!--指定表名-->
        <table tableName="orderBaiduInfo" domainObjectName="OrderBaiduInfo"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

 

 

3.配置成功後找到外掛點Run

4.檢視生成日誌,成功

[INFO] Generating Mapper Interface for table orderbaiduinfo
[INFO] Generating SQL Map for table orderbaiduinfo
[INFO] Saving file OrderBaiduInfoMapper.xml
[INFO] Saving file OrderBaiduInfo.java
[INFO] Saving file OrderBaiduInfoMapper.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

 

5.檢視生成檔案