MyBatis-Plus 提供了自动生成代码超详细教程

MyBatis-Plus 提供了自动生成代码的工具(代码生成器),可以快速生成实体类、Mapper 接口、Service 类以及 Controller 等代码。这大大提高了开发效率,特别是在处理大型项目时。以下是一个使用 MyBatis-Plus 自动生成代码的详细指南:

1. 添加依赖

pom.xml 中添加 MyBatis-Plus 和 MyBatis-Plus Generator 的依赖:

<dependencies>
    <!-- MyBatis-Plus 依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3.1</version>
    </dependency>
    <!-- MyBatis-Plus Generator 依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.3.1</version>
    </dependency>
    <!-- Velocity 模板引擎 -->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.3</version>
    </dependency>
    <!-- MySQL 连接驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.33</version>
    </dependency>
</dependencies>

2. 配置代码生成器

创建一个 Java 类,用于配置和运行代码生成器。以下是一个示例配置:

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;

import java.util.Collections;

public class CodeGeneratorForGDBC {
    public static void main(String[] args) {
        FastAutoGenerator.create(new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/your_db_name", "username", "password"))
            .globalConfig(builder -> {
                builder.author("Your Name") // 设置作者
                        .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录
            })
            .packageConfig(builder -> {
                builder.parent("com.example.projectDemo") // 设置父包名
                        .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/resources/mapper")); // 设置mapperXml生成路径
            })
            .strategyConfig(builder -> {
                builder.addInclude("your_table_name") // 设置需要生成的表名
                        .entityBuilder().naming(NamingStrategy.underline_to_camel).enableLombok() // 生成的实体类使用Lombok
                        .controllerBuilder().enableRestStyle() // 生成 @RestController 控制器
                        .mapperBuilder().enableBaseResultMap(); // 启用 BaseResultMap
            })
            .templateEngine(new VelocityTemplateEngine()) // 使用Velocity模板引擎
            .execute();
    }
}

3. 配置说明

  • 依赖配置:
    检查 pom.xml 文件,确保引入了所需的依赖,并且版本号正确。
  • 数据源配置:
    在 FastAutoGenerator.create 方法中,配置数据库连接信息。
  • 全局配置:
    使用 globalConfig 方法设置全局配置,包括作者信息和输出目录。
  • 包配置:
    使用 packageConfig 方法设置包名和 mapper XML 文件的生成路径。
  • 策略配置:
    使用 strategyConfig 方法设置代码生成策略,包括生成哪些表、命名策略、是否启用 Lombok 等。
  • 模板引擎:
    使用 templateEngine 方法设置模板引擎(此处为 Velocity)。
  • 执行生成:
    调用 execute 方法生成代码。

4. 运行代码生成器

运行 CodeGenerator 类中的 main 方法,代码生成器将会根据配置自动生成相应的代码(实体类、Mapper 接口、Service 类、Controller 等)。

5. 生成的文件结构

src/
 └── main/
     ├── java/
     │   └── com/
     │       └── example/
     │           └── project/
     │               ├── module/
     │               │   ├── controller/
     │               │   │   └── YourEntityController.java
     │               │   ├── entity/
     │               │   │   └── YourEntity.java
     │               │   ├── mapper/
     │               │   │   └── YourEntityMapper.java
     │               │   ├── service/
     │               │   │   ├── impl/
     │               │   │   │   └── YourEntityServiceImpl.java
     │               │   │   └── YourEntityService.java
     │               │   └── xml/
     │               │       └── YourEntityMapper.xml
     └── resources/
         ├── application.properties
         └── mapper/
             └── YourEntityMapper.xml

6. 运行项目

生成代码后,可以根据具体项目需求对生成的代码进行调整和完善。确保配置正确,然后运行 Spring Boot 项目,即可使用生成的代码与数据库进行交互。

以上是使用 MyBatis-Plus 代码生成器自动生成代码的基本步骤和配置示例。根据实际情况,可能需要对配置进行调整以满足特定需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值