<?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="config/gennerator.properties" />
    <context id="MBG" targetRuntime="MyBatis3" defaultModelType="conditional">
        <!-- 注意以下标签的顺序:property*,plugin*,commentGenerator?,jdbcConnection,
                javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,
                javaClientGenerator?,table+ -->
        <!-- <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" /> -->
        <!-- 这个插件给由MBG生成的Java模型对象增加了equals和hashCode方法 -->
        <!--  <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/> -->
        <!-- com.github.pagehelper为PageHelper类所在包名 -->	 
        
        <!-- 该属性，仅在确实需要进行合并，而不是覆盖的情况下使用，且值要求为：true -->   
        <property name="mergeable" value="true"></property>
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true：是 ： false:否 -->
            <property name="suppressAllComments" value="true"/>
            <!-- 不希望生成的注释中包含时间戳 -->
            <property name="suppressDate" value="true" />
            <!-- 是否  自动为每一个生成的类创建一个构造方法-->
            <property name="constructorBased" value="true"/>
             <!--分页参数合理化-->
	        <property name="reasonable" value="true"/> 
        </commentGenerator>
        <!-- 数据库连接 -->
        <jdbcConnection 
            driverClass="${jdbc.driver}" 
            connectionURL="${jdbc.url}"
            userId="${jdbc.username}" 
            password="${jdbc.password}">
        </jdbcConnection>
        <!-- 指定生成的类型为java类型，避免数据库中number等类型字段 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成model模型，对应的包，存放位置可以指定具体的路径,如/ProjectName/src，也可以使用MAVEN来自动生成 -->
        <javaModelGenerator targetPackage="${modelPackage}" targetProject="${targetProject}">
            <!-- 在targetPackage的基础上，根据数据库的schema再生成一层package，最终生成的类放在这个package下，默认为false -->
            <property name="enableSubPackages" value="true"/>
            <!-- 设置是否在getter方法中，对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--对应的xml mapper文件  -->
        <sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="${targetProject2}" >
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator> 
        <!-- 对应的dao接口 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="${targetProject}" >
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 表名对应生成的实体 -->      
        <!-- <table tableName="T_Role_Menu" domainObjectName="T_Role_Menu" />  -->
        <!-- enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">  指定是否生成操作数据库对应的方法 -->
        <!--<table tableName="T_User" domainObjectName="T_User"/>-->
        <!--<table tableName="T_Role" domainObjectName="T_Role"/>-->

        <!-- <table tableName="T_User" domainObjectName="T_User" enableCountByExample="false" enableUpdateByExample="false"
                enableDeleteByExample="false" enableSelectByExample="false"
                selectByExampleQueryId="false"/>
         <table tableName="T_Role_Menu" domainObjectName="T_Role_Menu" enableCountByExample="false" enableUpdateByExample="false"
                enableDeleteByExample="false" enableSelectByExample="false"
                selectByExampleQueryId="false"/>
         <table tableName="T_Role" domainObjectName="T_Role" enableCountByExample="false" enableUpdateByExample="false"
                enableDeleteByExample="false" enableSelectByExample="false"
                selectByExampleQueryId="false"/>
         <table tableName="T_Menu" domainObjectName="T_Menu" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>-->
       <!-- <table tableName="T_Menu" domainObjectName="T_Menu" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>-->
        <table tableName="Power_Role" domainObjectName="Power_Role" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>