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 代码生成器自动生成代码的基本步骤和配置示例。根据实际情况,可能需要对配置进行调整以满足特定需求。

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus提供了一个代码自动生成器,可以快速生成MyBatis相关的Java代码,包括实体类、Mapper接口、Mapper XML文件等。以下是使用MyBatis-Plus代码自动生成器的步骤: 1. 引入MyBatis-Plus代码自动生成器的Maven依赖。 在Maven的pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> ``` 2. 创建一个配置类,配置代码自动生成器的参数。 可以使用MyBatis-Plus提供的AutoGenerator类来创建一个代码自动生成器。AutoGenerator类的构造方法可以接收一个GlobalConfig对象和一个DataSourceConfig对象,分别用于配置全局参数和数据源参数。 以下是一个配置类的示例代码: ``` public class CodeGenerator { public static void main(String[] args) { AutoGenerator generator = new AutoGenerator(); GlobalConfig config = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); config.setOutputDir(projectPath + "/src/main/java"); config.setAuthor("yourname"); config.setOpen(false); generator.setGlobalConfig(config); DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("root"); generator.setDataSource(dataSourceConfig); PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.example.demo"); generator.setPackageInfo(packageConfig); generator.execute(); } } ``` 在上面的代码中,我们设置了输出目录、作者名、数据源信息和包名等参数。 3. 运行代码自动生成器。 当配置好代码自动生成器的参数后,我们就可以运行代码自动生成器来生成相关的Java代码了。在运行代码自动生成器之前,请确保数据库中已经创建了相关的表。 以下是运行代码自动生成器的示例代码: ``` CodeGenerator.main(null); ``` 执行以上代码后,自动生成Java代码将会在指定的输出目录下生成。 总结: MyBatis-Plus代码自动生成器可以帮助开发者快速生成相关的Java代码,从而提高开发效率。以上是使用MyBatis-Plus代码自动生成器的基本步骤和示例代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值