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.