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 代码生成器自动生成代码的基本步骤和配置示例。根据实际情况,可能需要对配置进行调整以满足特定需求。
标签:代码生成,教程,java,配置,生成,Plus,MyBatis,baomidou,com From: https://blog.csdn.net/qq_42631788/article/details/140613177