<!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="api.properties"/>
    <!-- defaultModelType="flat" s设置复合主键时不单独为主键创建实体 -->
    <context defaultModelType="flat" id="Postgresql" targetRuntime="MyBatis3">

        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 当表名或者字段名为SQL关键字的时候，可以设置该属性为true，MBG会自动给表名或字段名添加分隔符(反单引号) -->
        <property name="autoDelimitKeywords" value="true"/>

        <!-- 由于beginningDelimiter和endingDelimiter的默认值为双引号(")，在Mysql中不能这么写，所以还要将这两个默认值改为反单引号(`)， -->
        <!-- <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/> -->

        <!-- 生成的POJO实现java.io.Serializable接口 -->
        <!-- Example Criteria 增强插件 -->
        <plugin type="com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin">
            <!-- 是否支持已经过时的andIf方法（推荐使用when代替），默认支持 -->
            <property name="enableAndIf" value="false"/>
        </plugin>
        <!-- Example 目标包修改插件 -->
        <plugin type="com.itfsw.mybatis.generator.plugins.ExampleTargetPlugin">
            <!-- 修改Example类生成到目标包下 -->
            <property name="targetPackage" value="com.webex.mct.platform.dao.example"/>
        </plugin>
        <!--注释-->
        <commentGenerator>
            <!-- 阻止生成注释 -->
            <property name="suppressAllComments" value="true"/>
            <!-- 注释里不添加日期 -->
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!-- 数据库连接，直接通过${}读取application.properties里的配置 -->
        <jdbcConnection driverClass="${pg_driver}"
                        connectionURL="${pg_url}"
                        userId="${pg_username}"
                        password="pass">
        </jdbcConnection>

        <!-- 生成POJO对象，并将类放到com.web.springbootmybatis.entity包下 -->
        <javaModelGenerator targetPackage="com.webex.mct.platform.entity"
                            targetProject="src/main/java"/>
        <!-- 生成mapper xml文件，并放到resources下的mapper文件夹下 -->
        <sqlMapGenerator targetPackage="com.webex.mct.platform.dao"
                         targetProject="src/main/java"/>

        <!-- 生成mapper xml对应dao接口，放到com.web.springbootmybatis.dao包下-->
        <javaClientGenerator targetPackage="com.webex.mct.platform.dao" targetProject="src/main/java"
                             type="XMLMAPPER"/>

        <!-- table标签可以有多个，至少一个，tableName指定表名，可以使用_和%通配符 -->
        <table domainObjectName="MCTAgent" enableCountByExample="false"
               enableDeleteByExample="true" enableInsert="true"
               enableSelectByExample="true" enableUpdateByExample="true"
               mapperName="MCTAgentDao" selectByExampleQueryId="false"
               tableName="mct_agent">
            <property name="useActualColumnNames" value="false"/>
            <generatedKey column="id" sqlStatement="select nextval('S_MCT_AGENT')"/>
            <columnOverride column="impactCI" javaType="java.lang.String" jdbcType="VARCHAR"/>
        </table>
    </context>
</generatorConfiguration>