怎样使用mybatisplus的自动代码生成器
时间: 2025-04-16 12:18:06 浏览: 22
### MyBatisPlus 自动代码生成器使用教程
#### 添加项目依赖
为了能够顺利运行MyBatisPlus的自动代码生成工具,需先在项目的`pom.xml`文件中加入相应的Maven依赖。这包括MyBatisPlus代码生成器以及模板引擎Freemarker的相关依赖[^3]。
```xml
<!-- mybatisplus代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
```
#### 编写代码生成配置类
创建一个新的Java类用于编写自动化代码生成功能的具体实现逻辑。此类主要负责设置数据库连接参数、指定要操作的数据表名以及其他一些个性化选项等。下面是一个简单的例子来展示如何完成这项工作:
```java
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
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;
public class CodeGenerator {
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"); // 输出路径设为当前目录下的 src/main/java 文件夹内
gc.setAuthor("Your Name Here"); // 作者名字可自行修改
gc.setOpen(false); // 是否打开输出目录,默认false
mpg.setGlobalConfig(gc);
// 数据源配置部分
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("password");
mpg.setDataSource(dsc);
// 包信息配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo"); // 修改为你自己的包结构
pc.setModuleName(null); // 不设置模块名称则默认为空字符串""
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("table_1", "table_2"); // 需要生成哪些数据表对应的实体类,多个逗号隔开
strategy.setNaming(NamingStrategy.underline_to_camel); // 表明采用下划线转驼峰命名规则
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true); // 实体类是否启用 Lombok 注解简化 getter/setter 方法定义
strategy.setRestControllerStyle(true); // 控制层接口风格 Restful API 形式返回 JSON 结果集
strategy.setVersionFieldName("version"); // 版本字段名(乐观锁), 如果不需要版本控制功能请忽略此行
strategy.setLogicDeleteFieldName("deleted"); // 逻辑删除字段名, 同样地如果不适用逻辑删请选择移除该属性
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new FreemarkerTemplateEngine()); // 使用FreeMarker作为模版渲染引擎
// 执行代码生成过程
mpg.execute();
}
}
```
这段程序会根据所给定的信息来自动生成一系列的基础代码框架,比如实体类(Entity),持久化映射(Mapper Interface 和 Mapper XML File),业务服务(Service Layer),控制器(Controller Class)等等[^2]。
阅读全文
相关推荐


















