代码生成器快速生成main函数mybatisplus
时间: 2025-02-05 14:57:31 浏览: 43
### 使用 MyBatis Plus 代码生成器快速创建 Main 函数
MyBatis-Plus 提供了一个强大的 AutoGenerator 工具来帮助开发者自动生成项目中的各种组件,包括 Entity、Mapper、Service 和 Controller 等。然而,默认情况下该工具不会直接生成 `Main` 类文件。可以通过配置模板来自定义生成的内容。
#### 配置 FastAutoGenerator 并添加 Main 函数模版支持
为了实现这一点,可以利用最新版本提供的 FastAutoGenerator 功能并扩展其默认行为:
1. **引入依赖**
确保项目的 pom.xml 文件中有如下依赖项以启用 fast-auto-generator 支持[^1]:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>x.x.x</version>
</dependency>
<!-- velocity 是用于编写模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>y.y.y</version>
</dependency>
```
2. **设置全局配置**
通过 Java API 或者 YAML 文件形式指定一些必要的参数,如数据库连接信息等:
```java
GlobalConfig globalConfig = new GlobalConfig.Builder()
.outputDir(System.getProperty("user.dir") + "/src/main/java")
.author("Your Name Here")
.fileOverride(true)
.dateColumnPattern("")
.disableOpenDir()
.build();
```
3. **定制化模板路径**
如果想要修改生成逻辑,则可以在 resources/template 下放置自己的 Velocity 模板文件,并告知 generator 去哪里查找这些资源:
```java
TemplateConfig templateConfig = new TemplateConfig.Builder()
.entity("/templates/entity.java.vm")
.service("/templates/service.java.vm")
.ServiceImpl("/templates/serviceImpl.java.vm")
.mapper("/templates/mapper.java.vm")
.xml("/templates/mapper.xml.vm")
.controller("/templates/controller.java.vm")
// 添加 main 函数模板位置
.customMap(Collections.singletonMap("main", "/templates/MainFunction.java"))
.build();
```
4. **构建策略配置**
这里指定了哪些表应该被处理以及如何命名生成出来的类名等等细节:
```java
StrategyConfig strategyConfig = new StrategyConfig.Builder()
.addInclude("your_table_name_here")
.tablePrefix(new String[]{"t_"})
.entityBuilder().superClass(BaseModel.class).enableLombok()
.controllerBuilder().enableRestStyle().enableHyphenStyle()
.mapperBuilder().enableBaseResultMap().enableBaseColumnList()
.build();
// 将上述所有配置组装起来形成完整的 CodeGen 对象实例
FastAutoGenerator.create(url, username, password)
.globalConfig(globalConfig)
.packageInfo(pkgCfg)
.templateConfig(templateConfig)
.strategy(strategyConfig)
.execute();
```
5. **编写 Main 函数模板**
最后一步是在 `/resources/templates/` 目录下新建名为 `MainFunction.java` 的文本文件作为主程序入口点的模板。下面给出一个简单的例子说明应该如何组织这个模板内的内容:
```java
package ${package};
public class Application {
public static void main(String[] args){
System.out.println("@SpringBootApplication");
SpringApplication.run(Application.class,args);
}
}
```
完成以上步骤之后再次运行代码生成过程即可得到包含有 Spring Boot 应用启动类在内的完整项目结构了。
阅读全文
相关推荐


















