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 当成普通的 - 它必须是一个已经存在的目录。
网友评论