1.https://github.com/abel533
2.加依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
3.启动类上加注解
//扫描哪些包里的接口
@MapperScan("com.itmuch")
@SpringBootApplication
public class UserCenterApplication {
public static void main(String[] args) {
SpringApplication.run(UserCenterApplication.class, args);
}
}
4.加plugin
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<configurationFile>
${basedir}/src/main/resources/generator/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
5.修改版本(根据mysql的版本修改,mysql是5的话就改5)
mysql
mysql-connector-java
8.0.16
6.创建generatorConfig.xml
根据步骤4中
${basedir}/src/main/resources/generator/generatorConfig.xml
${basedir}:内置目录,即项目根目录。
在resources建立目录generator,并创建文件generatorConfig.xml
内容:`
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
<!--整合lombok-->
<property name="lombok" value="Getter,Setter,ToString"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<!--实体-->
<javaModelGenerator targetPackage="com.itmuch.usercenter.domain.entity.${moduleName}"
targetProject="src/main/java"/>
<!--mapper.xml-->
<sqlMapGenerator targetPackage="com.itmuch.usercenter.dao.${moduleName}"
targetProject="src/main/resources"/>
<!--mapper接口-->
<javaClientGenerator targetPackage="com.itmuch.usercenter.dao.${moduleName}"
targetProject="src/main/java"
type="XMLMAPPER"/>
<!--为哪张表生成代码-->
<table tableName="${tableName}">
<generatedKey column="id" sqlStatement="JDBC"/>
</table>
</context>
`
7.创建config.properties
步骤6中有许多占位符 如${jdbc.driverClass},这些值从哪里来?
从
generatorConfig.xml的
<properties resource="generator/config.properties"/>
中的config.properties来的。
config.properties 内容:
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user_center?nullCatalogMeansCurrent=TRUE&serverTimezone=UTC
jdbc.user=gxf
jdbc.password=1111.aaa
moduleName=user
tableName=user
配置文件的参数都是给generatorConfig.xml提供配置数据的,
其中
nullCatalogMeansCurrent=true 这个参数可以避免与mysql内置的表重名产生歧义。
tableName:要生成哪张表的代码
moduleName:表对应的模块名字
8.生成代码
双击