> 文章列表 > MyBatisPlus3.4.3版自动生成代码的使用

MyBatisPlus3.4.3版自动生成代码的使用

MyBatisPlus3.4.3版自动生成代码的使用

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。

1 准备工作

创建springboot工程,这里省略。

2 导入依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- mybatisplus依赖,注意不用引入mybatis依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><!-- mysql依赖可换成对应版本 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><!-- mybatis-plus代码生成器依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency><!-- 自动生成代码的模板引擎,mybatis-plus默认的--><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><!-- 由于生成的controller会用到web的注解--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

3 创建CodeGeneratorTest类

需要对

  1. 数据源配置,(自己数据库对应的url,username,password等)
  2. 全局配置, (作者信息,输出目录等)
  3. 包配置, (Entity、Mapper、Mapper XML、Service、Controller 等各个模块的包命名等)
  4. 策略配置, (配置生成那些表,怎么生成等)
  5. 模板配置
  6. 注入配置

注意以下路径需要修改为实制项目路径,要生成的数据库表名需要修改为实制的,数据库源url修改为对应的数据源

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;
import org.junit.Test;import java.util.Collections;/* @author: wuKeFan* @date: 2022/2/24 10:39* @version 1.0*/
public class CodeGeneratorTest {@Testpublic void run() {FastAutoGenerator.create(//数据源配置,url需要修改new DataSourceConfig.Builder("url","username","password").dbQuery(new MySqlQuery()).schema("schema").typeConvert(new MySqlTypeConvert()).keyWordsHandler(new MySqlKeyWordsHandler()))//全局配置.globalConfig(builder -> {builder.author("wuKeFan") // 设置作者//.disableOpenDir()//禁止打开输出目录//.enableSwagger() // 开启 swagger 模式.fileOverride() // 覆盖已生成文件.outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录})//包配置.packageConfig(builder -> {builder.parent("com.wkf.workrecord.tools.autocode") // 设置父包名,根据实制项目路径修改.moduleName("web")      // 父包名路径下再新建的文件夹.entity("entity")         // 后面这些是sys文件夹里新建的各分类文件夹.service("service").serviceImpl("service.impl").mapper("mapper").xml("mapper.xml").controller("controller")//.other("other").pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/java/com/wkf/workrecord/tools/autocode/web/mapper/xml")); // 存放mapper.xml路径})//策略配置.strategyConfig(builder -> {builder.addInclude("jm_fxy_apply_staging_plan_code") // 设置需要生成的表名.addTablePrefix("jm_") // 设置过滤表前缀.entityBuilder() //实体类配置.enableLombok() //使用lombok.enableTableFieldAnnotation()//实体类字段注解.controllerBuilder()//controller配置.enableRestStyle()//开启restcontroller.mapperBuilder().enableMapperAnnotation()//开启mapper注解.enableBaseResultMap()//启用 BaseResultMap 生成.enableBaseColumnList();//启用 BaseColumnList})//.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板.execute();}
}

4 运行代码生成器

点击运行上面的main方法就能自动生成了

生成的效果图:

MyBatisPlus3.4.3版自动生成代码的使用

这样代码生成器就写好了,如果需要其他格式模板可以自行参考下面的配置,自行修改

5 数据库配置(DataSourceConfig)

5.1 基础配置

MyBatisPlus3.4.3版自动生成代码的使用

5.2 可选配置

MyBatisPlus3.4.3版自动生成代码的使用

5.3 全局配置(GlobalConfig)

在这里插入图片描述

MyBatisPlus3.4.3版自动生成代码的使用

5.4 包配置(PackageConfig)

MyBatisPlus3.4.3版自动生成代码的使用

5.5 模板配置(TemplateConfig)

MyBatisPlus3.4.3版自动生成代码的使用

5.6 注入配置(InjectionConfig)

MyBatisPlus3.4.3版自动生成代码的使用

5.7 策略配置(StrategyConfig)

MyBatisPlus3.4.3版自动生成代码的使用

5.8 Entity 策略配置

MyBatisPlus3.4.3版自动生成代码的使用

5.9 Controller 策略配置

MyBatisPlus3.4.3版自动生成代码的使用

5.10 Service 策略配置

MyBatisPlus3.4.3版自动生成代码的使用

5.11 Mapper 策略配置

MyBatisPlus3.4.3版自动生成代码的使用