MyBatisPlus 代码生成器
时间: 2025-03-02 19:05:18 浏览: 31
### MyBatisPlus 代码生成器使用教程
#### 导入依赖
为了能够顺利运行MyBatisPlus代码生成器,在项目中需引入必要的Maven依赖。这些依赖项包含了MyBatisPlus的核心库以及代码生成所需的组件。
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 模板引擎 freemarker 或 velocity 可选 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
```
#### application.yaml 配置及对应配置类
在`application.yaml`文件内设置数据库连接参数,以便于后续操作可以访问到目标数据源。同时创建对应的Java Bean来加载此配置信息[^1]。
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
```
对于上述YAML中的属性映射至实体对象:
```java
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceConfig {
private String url;
private String username;
private String password;
private String driverClassName;
// getter and setter methods...
}
```
#### 工具类封装
定义一个静态工具类用于初始化并启动代码生成功能。此类内部会构建AutoGenerator实例,并通过链式调用来指定模板路径、包名结构以及其他必要选项。
```java
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;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 设置全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("Your Name");
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test?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.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
```
#### 测试代码生成
完成以上准备工作之后,只需简单地编译并运行该程序即可触发自动化的CRUD接口及相关模型类的生产过程。这一步骤通常是在开发环境中进行验证性的尝试,确保一切按预期工作正常。
#### 测试执行 MyBatisPlus 是否可行
一旦自动生成完毕,则可以在实际业务逻辑里边集成新产生的DAO层接口与Service实现类来进行功能测试。此时应该关注点在于确认基本的数据持久化操作能否顺利完成,比如新增记录、查询列表等基础动作是否符合设计初衷。
阅读全文
相关推荐

















