美文网首页
Maven工程下mybatis-generator的使用

Maven工程下mybatis-generator的使用

作者: NoSuchElementEx | 来源:发表于2017-10-21 21:25 被阅读0次

    pom.xml 注入构建插件

    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.0</version>
        <dependencies>
            <!-- mysql连接驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.40</version>
            </dependency>
        </dependencies>
        <configuration>
            <verbose>true</verbose>
            <outputDirectory>src/main/java</outputDirectory>
            <overwrite>true</overwrite>
    <configurationFile>${basedir}/src/test/resources/generatorConfig.xml</configurationFile>
        </configuration>
    </plugin>
    

    逆向工程配置文件

    <?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="users-dao">
            <!--是否生成注释-->
            <commentGenerator>
                <property name="suppressDate" value="true"/>
            </commentGenerator>
    
            <jdbcConnection userId="root" password="123"
                            driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://127.0.0.1:3306/xtyr?charsetEncoding=utf8">
            </jdbcConnection>
            <javaModelGenerator targetPackage="cn.gduf.xtyr.modules.users.entity.gen"
                                targetProject="MAVEN">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false"/>
                <!-- 从数据库返回的值被清理前后的空格 -->
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <sqlMapGenerator targetPackage="cn.gduf.xtyr.modules.users.dao.gen"
                             targetProject="MAVEN"></sqlMapGenerator>
            <javaClientGenerator type="XMLMAPPER"
                                 targetPackage="cn.gduf.xtyr.modules.users.dao.gen" targetProject="MAVEN">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false"/>
            </javaClientGenerator>
            <table tableName="department"></table>
            <table tableName="roles"></table>
            <table tableName="user_role"></table>
            <table tableName="users"></table>
        </context>
    
    </generatorConfiguration>
    

    构建命令

    可以在命令行通过以下命令执行:

    • mvn mybatis-generator:generate
      您可以通过标准的Maven命令属性传递参数, 例如:
    • mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

    参考参数

    所有的参数都是可选的,大部分都适合的默认值。

    参数 表达式 类型 注释
    configurationFile ${mybatis.generator.configurationFile} java.io.File 指定配置文件的名称。默认值:${basedir}/src/main/resources/generatorConfig.xml
    contexts ${mybatis.generator.contexts} java.lang.String 如果指定了该参数,逗号隔开的这些context会被执行。 这些指定的context必须和配置文件中 <context> 元素的 id属性一致。 只有指定的这些contextid会被激活执行。如果没有指定该参数,所有的context都会被激活执行。
    jdbcDriver ${mybatis.generator.jdbcDriver} java.lang.String 如果您指定了 sqlScript 参数, 当连接数据库时这里的值是JDBC驱动类的权限定名称。
    jdbcPassword ${mybatis.generator.jdbcPassword} java.lang.String 如果您指定了 sqlScript 参数, 这是连接数据库的密码。
    jdbcURL ${mybatis.generator.jdbcURL} java.lang.String 如果您指定了 sqlScript 参数, 这是连接数据库的JDBC URL
    jdbcUserId ${mybatis.generator.jdbcUserId} java.lang.String 如果您指定了 sqlScript 参数, 这里是连接数据库的用户id
    outputDirectory ${mybatis.generator.outputDirectory} java.io.File 将放置 MBG 所生成文件的目录。 这个目录是用于当 targetProject 在配置文件中设置特殊值的"MAVEN"时使用(大小写敏感)。默认值:${project.build.directory}/generated-sources/mybatis-generator
    overwrite ${mybatis.generator.overwrite} boolean 如果指定了该参数,如果生成的java文件存在已经同名的文件,新生成的文件会覆盖原有的文件。 如果没有指定该参数,如果存在同名的文件,MBG会给新生成的代码文件生成一个唯一的名字(例如: MyClass.java.1, MyClass.java.2 等等)。 重要: 生成器一定会自动合并或覆盖已经生成的XML文件。默认值:false
    sqlScript ${mybatis.generator.sqlScript} java.lang.String 要在生成代码之前运行的 SQL 脚本文件的位置。 如果空,不会执行任何脚本。 如果不是空,jdbcDriver,jdbcURL 参数必须提供。 另外如果连接数据库需要认证也需要提供 jdbcUserId 和 jdbcPassword 参数。值可以使一个文件系统的绝对路径或者是一个使用"classpath:"开头放在构建的类路径下的路径。
    tableNames ${mybatis.generator.tableNames} java.lang.String 如果指定了该参数,逗号隔开的这个表会被运行, 这些表名必须和 <table> 配置中的表面完全一致。只有指定的这些表会被执行。 如果没有指定该参数,所有的表都会被执行。 按如下方式指定表明: tableschema.tablecatalog..table等等。
    verbose ${mybatis.generator.verbose} boolean 如果指定该参数,执行过程会输出到控制台。

    targetProject 解释

    与Maven运行时 生成器 配置的 targetProject 属性有不同的解释。 如果指定值为"MAVEN" (大小写敏感), targetProject 将被设置为插件的输出目录,而且如果不存在这个目录,将会创建这个目录。 如果没有设置为 "MAVEN", 那么targetProject 将会被 MGB 当成普通的 - 它必须是一个已经存在的目录。

    相关文章

      网友评论

          本文标题:Maven工程下mybatis-generator的使用

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