maven插件方式
建议将插件配置在持久层模块中,generatorConfiguration.xml配置文件放在持久层的resources文件夹中。
maven插件中的内容:使用
- 引入MyBatis的generator插件,并配置generatorConfiguration.xml文件位置
- 引入generatorConfiguration.xml中依赖的坐标,数据库连接包和通用Mapper依赖;这里的数据库连接包可以是原生的jdbc连接,也可以是druid
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfiguration.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<!-- 连接数据库的客户端:可以根据情况选择使用的客户端 -->
<!-- tddl连接数据库 -->
<dependency>
<groupId>com.taobao.tddl</groupId>
<artifactId>tddl-client</artifactId>
<version>5.2.6</version>
</dependency>
<!-- 原生jdbc连接数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!-- 通用Mapper插件 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
generator.xml配置文件
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 1、配置文件位置:本文件中所有${xxx.xxx}均来自于config.properties配置文件 -->
<properties resource="generator/config.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- 2、通用mapper插件配置 -->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<!-- 带逻辑删除的通用Mapper -->
<!-- <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>-->
<!-- 插件默认的通用mapper -->
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
<property name="lombok" value="Getter,Setter"/>
</plugin>
<!-- 参考:https://www.atatech.org/articles/57180 -->
<!-- 3、数据库连接信息配置 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}"/>
<!-- 4、DO数据实体存放路径配置 -->
<javaModelGenerator targetPackage="com.alibaba.ei.tracktrace.dos"
targetProject="src/main/java"/>
<!-- 5、mapper.xml文件存放路径配置 -->
<sqlMapGenerator targetPackage="mapper/${module.name}"
targetProject="src/main/resources/">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 6、持久层mapper接口存放路径配置 -->
<javaClientGenerator targetPackage="com.alibaba.ei.tracktrace.mapper"
targetProject="src/main/java"
type="XMLMAPPER">
</javaClientGenerator>
<!-- 7、数据库表名、DO数据实体名称、mapper接口名称配置 -->
<table tableName="${table.name}"
domainObjectName="${entity.name}"
mapperName="${mapper.name}">
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
config.properties配置文件内容
//数据库连接信息
jdbc.url=jdbc:mysql://tddl.daily2.alibaba.net:3306/TRACKTRACE_APP
jdbc.user=TRACKTRACE_APP
jdbc.password=TRACKTRACE_APP
//自定义的模块名,
module.name=
//数据库表
table.name=message_relation
//DO实体名成功
entity.name=MessageReceiverRelationDO
//Mapper接口名称
mapper.name=MessageReceiverRelationMapper