一、在pom文件中导入依赖和generator插件
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/myBatisGeneratorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
</plugin>
</plugins>
二、编写generator配置文件
<?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>
<!--
1.配置mysql数据库驱动路径,使用本地绝对路径;windows下,绝对路径不建议直接复制鼠标右键-属性-安全下的绝对路径,建议手打
2.如果已经在maven mybatis-generator-maven-plugin插件添加数据库驱动依赖,此处不需要指定<classPathEntry />了
-->
<!--<classPathEntry location="D:\mybatis-generator\mysql-connector-java-5.1.47.jar"/>-->
<!-- 上下文环境配置 -->
<context id="Mybatis3Context" targetRuntime="MyBatis3">
<!-- 指定生成的java文件的编码方式 -->
<property name="javaFileEncoding" value="UTF-8"/>
<commentGenerator>
<!-- 是否去除自动生成的注释;true(是)/false(否) -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码;注意driverClass的值,mysql驱动8版本的带cj包名称 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/xxx?useSSL=false"
userId="root"
password="root">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer;为true时把JDBC DECIMAL和
NUMERIC类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 逆向生成的POJO类的配置;targetPackage(包名称)可以指定,也可以不指定;targetProject(逆向生成的文件保存目录) -->
<javaModelGenerator targetPackage="pojo" targetProject="D:\mybatis-generator">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
<!-- 此属性用于选择MyBatis生成器是否添加代码以从数据库返回的字符字段中修剪空白。如果数据库将数据存储在CHAR字段而不是VARCHAR字段中,这将非常有用。如果为true,MyBatis生成器将插入代码来修剪字符字段。可以使用或元素中的trimStrings属性重写。
默认值为false。 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 逆向生成的xml文件的配置 -->
<sqlMapGenerator targetPackage="xml" targetProject="D:\mybatis-generator">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 逆向生成的api接口类(mapper接口)的配置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="api" targetProject="D:\mybatis-generator">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 指定数据库哪张表需要逆向 -->
<table schema="xxx" tableName="xxx"/>
<table schema="xxx" tableName="xxx"/>
</context>
</generatorConfiguration>
三、打开生成器
四、在指定位置可查看生成的文件