mybatisplus插件生成代码
时间: 2025-02-01 08:41:49 浏览: 36
### 使用 MyBatis Plus 插件自动生成代码
为了使用 MyBatis Plus 自动化生成代码,开发者需遵循一系列配置和操作流程来确保整个过程顺利进行。具体来说,在项目中集成 MyBatis Plus 的自动代码生成功能涉及几个重要步骤。
#### 配置环境与添加依赖
首先,要在项目的 `pom.xml` 文件里加入必要的 Maven 依赖项以便引入 MyBatis Plus 及其代码生成模块[^2]:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
<!-- mybatis plus code generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis.plus.generator.version}</version>
</dependency>
```
#### 编写代码生成器配置类
接着定义一个用于启动代码生成逻辑的 Java 类,通过设置模板引擎、数据源以及其他参数完成自动化编码工作。下面给出了一段简单的例子说明如何实现这一点[^4]:
```java
package com.example.demo;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.Scanner;
public class CodeGenerator {
/**
* <p>
* 读取控制台输入表名
* </p>
*/
private static String scanner(String tip) {
Scanner scanner = new Scanner(System.in);
StringBuilder help = new StringBuilder();
help.append(tip).append(":");
System.out.println(help.toString());
if (scanner.hasNext()) return scanner.next();
throw new MybatisPlusException("请输入" + tip + "!");
}
public static void main(String[] args) {
// 初始化代码生成对象
AutoGenerator mpg = new AutoGenerator();
// 设置全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java")
.setAuthor("Your Name")//作者名字
.setOpen(false); // 是否打开资源管理器
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=GMT%2B8")
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUsername("root")
.setPassword("password")
.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 包信息配置
PackageConfig pc = new PackageConfig()
.setModuleName(scanner("模块名"))
.setParent("com.yourcompany.project"); // 根据实际情况修改包路径
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig()
.setNaming(NamingStrategy.underline_to_camel)// 表名转换成驼峰命名法
.setColumnNaming(NamingStrategy.underline_to_camel)
.setEntityLombokModel(true) // 开启 Lombok 模型
.setRestControllerStyle(true) // RestController 注解风格控制器层
.setInclude(scanner("表名")) // 执行时会提示输入要生成哪些表的名字, 多个英文逗号分隔
.setSuperEntityClass("com.yourcompany.base.BaseEntity") // 继承父类
.setSuperControllerClass("com.yourcompany.base.BaseController");
mpg.setStrategy(strategy);
// 执行代码生成
mpg.execute();
}
}
```
这段程序允许用户交互式地指定想要针对哪个数据库中的哪张表格执行代码生成任务,并且可以根据个人需求调整输出位置和其他细节选项。
阅读全文
相关推荐


















