通用 Mapper 專用代碼生成器生成的 Model 會在原有基礎上增加 @Table,@Id,@Column 等注解,方便自動會數(shù)據(jù)庫字段進行映射。
運行MBG有多種方法,這里只介紹兩種比較常見的方法。并且有關的內容會針對這樣的運行方式進行配置。
一、目錄結構

image-20200721182723494
二、pom文件
配置中的目錄可以和
<properties>都可以按需修改
<properties>
<!--Mybatis Generator-->
<!--Java接口和實體類-->
<!--${basedir} maven內置,引用工程根目錄-->
<!--targetJavaProject:聲明源碼存放目錄位置-->
<targetJavaProject>${basedir}/src/main/java</targetJavaProject>
<!--targetMapperPackage:聲明MBG生成XxxMapper接口后存放package位置-->
<targetMapperPackage>club.codehero.mapper</targetMapperPackage>
<!--targetModelPackage:聲明MBG生成實體類存放package位置-->
<targetModelPackage>club.codehero.pojo</targetModelPackage>
<!--targetResourcesProject:聲明存放資源文件和xml的目錄位置-->
<targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
<!--targetXXMLPackage:聲明存放具體XxxMapper.xml文件的目錄位置-->
<targetXMLPackage>mapper</targetXMLPackage>
<!--依賴版本-->
<mapper.version>4.1.5</mapper.version>
<mysql.version>5.1.26</mysql.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<!--配置generator.xml文件路徑-->
<configuration>
<configurationFile>
${basedir}/src/main/resources/generator/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<!--MBG插件的依賴信息-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
三、generatorConfig.xml
generatorConfig.xml存放目錄和文件名稱必須和pom.xml中的
p<configurationFile> </configurationFile>中配置的路徑一致。以上面的pom.xml為例,配置的路徑為${basedir}/src/main/resources/generator/generatorConfig.xml,可以參照一、目錄結構給的圖。
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--引入數(shù)據(jù)庫配置文件-->
<properties resource="db.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--配置通用Mapper的MBG插件信息-->
<plugin type="${mapper.plugin}">
<property name="mappers" value="${mapper.Mapper}"/>
<property name="caseSensitive" value="true"/>
</plugin>
<!--配置數(shù)據(jù)庫連接信息-->
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<!--配置java實體類存放位置-->
<javaModelGenerator targetPackage="${targetModelPackage}"
targetProject="${targetJavaProject}"/>
<!--配置XML配置文件(XxxMapper.xml)存放目錄位置-->
<sqlMapGenerator targetPackage="${targetXMLPackage}"
targetProject="${targetResourcesProject}"/>
<!--配置XxxMapper接口存放目錄位置-->
<javaClientGenerator targetPackage="${targetMapperPackage}"
targetProject="${targetJavaProject}"
type="XMLMAPPER"/>
<!--根據(jù)數(shù)據(jù)庫表生成Java文件的相關規(guī)則-->
<!--
tableName數(shù)據(jù)庫中參與生成的表
tableName="%" "%"表示所有表都參與生成
此時使用默認規(guī)則:
t_emp -> TEMP
單獨指定表時,可以指定命名規(guī)則
使用tableName domainObjectName屬性指定表和要生成的實體類名稱
-->
<table tableName="t_emp" domainObjectName="Emp">
<!--配置主鍵生成策略-->
<generatedKey column="emp_id" sqlStatement="MySql" identity="true"/>
</table>
</context>
</generatorConfiguration>
四、db.properties
三中引入了db.peoperties文件,也可以不引入,直接在generatorConfig.xml中寫死
# Database connection information
jdbc.user=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver
# mapper
mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper=tk.mybatis.mapper.common.Mapper
五、啟動工程
- 直接在 pom.xml 這一級目錄的命令行窗口執(zhí)行
mvn mybatis-generator:generate; - 按照圖片用idea帶的maven插件啟動

image-20200721184139344