MyBatis Plus Code Generation with AutoGenerator

MyBatis Plus AutoGenerator

MyBatis Plus provides AutoGenerator to automatically generate Entity, Mapper, Mapper XML, Service, and Controler code modules, significantly improving development efficiency.

Required Dependencies

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.6.4</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.2</version>
    </dependency>
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.31</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>

Code Generator Implementation

Create a main method with the following configuration:

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;

public class CodeGenerator {
    private static final String DB_URL = "jdbc:mysql://localhost:3306/your_database?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai";
    
    public static void main(String[] args) {
        FastAutoGenerator.create(DB_URL, "your_username", "your_password")
            .globalConfig(builder -> {
                builder.author("developer_name")
                       .enableSwagger()
                       .fileOverride()
                       .outputDir("/path/to/output/directory");
            })
            .packageConfig(builder -> {
                builder.parent("com.yourcompany")
                       .moduleName("yourmodule")
                       .pathInfo(Collections.singletonMap(OutputFile.xml, "/path/to/xml/output"));
            })
            .strategyConfig(builder -> {
                builder.addInclude("table_name")
                       .addTablePrefix("prefix_");
            })
            .templateEngine(new FreemarkerTemplateEngine())
            .execute();
    }
}

Note: Ensure the output directory paths are correctly specified for your project structure.

Configuration Options

Additional configuration options are available through the various buillder methods for database connection, pacckage structure, table strategies, and template engines.

Tags: mybatisplus AutoGenerator Code Generation java Spring Boot

Posted on Fri, 02 Oct 2026 16:19:37 +0000 by rajeevbharti