Skip to content

Mybtias Plus Generator

Overview

Mybatis plus Generator can help us to generate service, domain, mapper, service from MySQL table.In this tutorial, I'll step by step you to configuration.

Maven Dependencies

xml
    <dependencies>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.7</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.7</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
        </dependency>
    </dependencies>

Main class

public class MallGenerator {

    public static void main(String[] args) {
        // 使用 FastAutoGenerator
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/cloud-mall?serverTimezone=GMT%2B8", "root", "123456")
                .globalConfig(builder -> {
                    builder.author("lcd") // set author
                            .outputDir("cloud-mall-generator/src/main/java"); // out dir
                })
                .packageConfig(builder -> {
                    builder.parent("com.ssn.mall") // set parent name
                            .entity("domain") // set the model name
                            .mapper("mapper") // set Mapper interface package name
                            .service("service") // set Service interface package name
                            .serviceImpl("service.impl") // set Service impl package name
                            .xml("mapper"); // set Mapper XML file dir
                })
                .strategyConfig(builder -> {
                    builder.addInclude("sys_menu", "sys_role","sys_role_menu","sys_user","sys_user_role") // set table
                            .entityBuilder()
                            .enableLombok() // enable Lombok
                            .enableTableFieldAnnotation() // enable flied annotation
                            .controllerBuilder()
                            .enableRestStyle(); // enable REST style
                })
                .templateEngine(new FreemarkerTemplateEngine()) // use Freemarker template engine
                .execute(); // executor
    }
}

Executor

when exec the code, you can get the generate file,such as below image project

Conclusion

if you use the mybatis-plus version below 3.5.1, then you can checkout from https://baomidou.com/guides/code-generator/

Released under the MIT License.