mybatis-generator

作者: Java及SpringBoot | 来源:发表于2018-06-05 13:22 被阅读13次
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <entity.target.dir>src/main/java/</entity.target.dir>
        <dao.resources.dir>src/main/resources/</dao.resources.dir>
    </properties>
    
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.5</version>
            <dependencies>
                <!--数据库驱动 -->
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.39</version>
                </dependency>
                <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                    <version>1.3.0</version>
                </dependency>
    
                <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                    <version>3.4.1</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <id>Generate MyBatis Artifacts</id>
                    <phase>package</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--允许移动生成的文件 -->
                <verbose>true</verbose>
                <!-- 是否覆盖 -->
                <overwrite>true</overwrite>
                <!-- 自动生成的配置 -->
                <configurationFile>
                    src/main/resources/mybatis-generator.xml
                </configurationFile>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
    
    <?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>
    
        <context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
            <plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">
                <property name="searchString" value="[e|E]xample$"/>
                <property name="replaceString" value="Criteria"/>
            </plugin>
    
            <!-- optional,旨在创建class时,对注释进行控制 -->
            <commentGenerator>
                <property name="suppressDate" value="ture"/>
            </commentGenerator>
    
            <!--jdbc的数据库连接 -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/xxx?useSSL=false" userId="root"
                            password="root">
            </jdbcConnection>
    
    
            <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
                targetPackage     指定生成的model生成所在的包名
                targetProject     指定在该项目下所在的路径
            -->
            <javaModelGenerator targetPackage="com.xubh.durid.model" targetProject="${entity.target.dir}">
                <!-- 是否对model添加 构造函数 -->
                <!--<property name="constructorBased" value="true"/>-->
                <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
                <property name="enableSubPackages" value="true"/>
                <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
               <!-- <property name="immutable" value="true"/>-->
                <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
    
    
            <!-- 自动生成xml(但是好像一直没有生成功,反正也不用xml) -->
            <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
            <sqlMapGenerator targetPackage="com.xubh.durid.model.mapper" targetProject="${dao.resources.dir}">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    
    
            <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
                    type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
                    type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
                    type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
            -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.xubh.durid.model.mapper"
                                 implementationPackage="com.xubh.durid.model.mapper.impl"
                                 targetProject="${entity.target.dir}">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
            <!--<table tableName="user" domainObjectName="User">-->
                <!-- optional   , only for mybatis3 runtime
                    自动生成的键值(identity,或者序列值)
                  如果指定此元素,MBG将会生成<selectKey>元素,然后将此元素插入到SQL Map的<insert> 元素之中
                  sqlStatement 的语句将会返回新的值
                  如果是一个自增主键的话,你可以使用预定义的语句,或者添加自定义的SQL语句. 预定义的值如下:
                     Cloudscape    This will translate to: VALUES IDENTITY_VAL_LOCAL()
                     DB2:      VALUES IDENTITY_VAL_LOCAL()
                     DB2_MF:       SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1
                     Derby:        VALUES IDENTITY_VAL_LOCAL()
                     HSQLDB:   CALL IDENTITY()
                     Informix:     select dbinfo('sqlca.sqlerrd1') from systables where tabid=1
                     MySql:        SELECT LAST_INSERT_ID()
                     SqlServer:    SELECT SCOPE_IDENTITY()
                     SYBASE:   SELECT @@IDENTITY
                     JDBC:     This will configure MBG to generate code for MyBatis3 suport of JDBC standard generated keys. This is a database independent method of obtaining the value from identity columns.
                     identity: 自增主键  If true, then the column is flagged as an identity column and the generated <selectKey> element will be placed after the insert (for an identity column). If false, then the generated <selectKey> will be placed before the insert (typically for a sequence).
    
               -->
               <!-- <generatedKey column="" sqlStatement="" identity="" type=""/>-->
    
                <!-- optional.
                       列的命名规则:
                       MBG使用 <columnRenamingRule> 元素在计算列名的对应 名称之前,先对列名进行重命名,
                       作用:一般需要对BUSI_CLIENT_NO 前的BUSI_进行过滤
                       支持正在表达式
                        searchString 表示要被换掉的字符串
                        replaceString 则是要换成的字符串,默认情况下为空字符串,可选
               -->
               <!-- <columnRenamingRule searchString="" replaceString=""/>-->
    
                <!-- optional.告诉 MBG 忽略某一列
                        column,需要忽略的列
                        delimitedColumnName:true ,匹配column的值和数据库列的名称 大小写完全匹配,false 忽略大小写匹配
                        是否限定表的列名,即固定表列在Model中的名称
                -->
               <!-- <ignoreColumn column="PLAN_ID"  delimitedColumnName="true" />-->
    
    
                <!--optional.覆盖MBG对Model 的生成规则
                     column: 数据库的列名
                     javaType: 对应的Java数据类型的完全限定名
                     在必要的时候可以覆盖由JavaTypeResolver计算得到的java数据类型. For some databases, this is necessary to handle "odd" database types (e.g. MySql's unsigned bigint type should be mapped to java.lang.Object).
                     jdbcType:该列的JDBC数据类型(INTEGER, DECIMAL, NUMERIC, VARCHAR, etc.),该列可以覆盖由JavaTypeResolver计算得到的Jdbc类型,对某些数据库而言,对于处理特定的JDBC 驱动癖好 很有必要(e.g. DB2's LONGVARCHAR type should be mapped to VARCHAR for iBATIS).
                     typeHandler:
    
                -->
                <!--<columnOverride column="" javaType=""    jdbcType="" typeHandler=""  delimitedColumnName="" />-->
    
        </context>
    </generatorConfiguration>
    

    相关文章

      网友评论

        本文标题:mybatis-generator

        本文链接:https://www.haomeiwen.com/subject/qumpsftx.html