MyBatis-Plus Generator

Maven 项目

在 pom.xml 里添加以下依赖:

<dependencies> 
    <!-- MyBatis-Plus 启动器 --> 
    <dependency> 
        <groupId>com.baomidou</groupId>  
        <artifactId>mybatis-plus-boot-starter</artifactId> 
        <version>3.5.2</version> 
    </dependency> 
    <!-- MyBatis-Plus 代码生成器 --> 
    <dependency> 
        <groupId>com.baomidou</groupId>  
        <artifactId>mybatis-plus-generator</artifactId> 
        <version>3.5.2</version> 
    </dependency> 
    <!-- 模板引擎 --> 
    <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> 

Gradle 项目

在 build.gradle 里添加以下依赖:

dependencies {{ 
    implementation 'com.baomidou:mybatis-plus-boot-starter:3.5.2'  
    implementation 'com.baomidou:mybatis-plus-generator:3.5.2'  
    implementation 'org.apache.velocity:velocity-engine-core:2.3'  
    implementation 'mysql:mysql-connector-java:8.0.33' 
}} 

2. 配置代码生成器

添加依赖之后,需要编写 Java 代码来配置并运行代码生成器。以下是一个简单的示例:

import com.baomidou.mybatisplus.generator.FastAutoGenerator;  
import com.baomidou.mybatisplus.generator.config.OutputFile;  
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;  
 
import java.util.Collections;  
 
public class CodeGenerator {{ 
    public static void main(String[] args) {{ 
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/your_database",  "your_username", "your_password") 
               .globalConfig(builder -> {{ 
                    builder.author("your_name")  // 设置作者 
                           .outputDir("D://code"); // 指定输出目录 
                }}) 
               .packageConfig(builder -> {{ 
                    builder.parent("com.example.demo")  // 设置父包名 
                           .moduleName("module") // 设置模块名 
                           .pathInfo(Collections.singletonMap(OutputFile.xml,  "D://code/mapper")); // 设置mapperXml生成路径 
                }}) 
               .strategyConfig(builder -> {{ 
                    builder.addInclude("table_name")  // 设置需要生成的表名 
                           .addTablePrefix("t_", "c_"); // 设置过滤表前缀 
                }}) 
               .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 
               .execute(); 
    }} 
}} 

在上述代码中:

  • FastAutoGenerator.create 方法里的 URL、用户名和密码需要根据实际的数据库配置进行修改。
  • globalConfig 用于配置全局信息,像作者和输出目录等。
  • packageConfig 用于配置包名和文件输出路径。
  • strategyConfig 用于配置生成策略,例如指定要生成的表名和过滤表前缀。

3. 运行代码生成器

编写好配置代码之后,直接运行 CodeGenerator 类的 main 方法,MyBatis-Plus Generator 就会依据配置自动生成实体类、Mapper 接口、Service 接口等代码。

经过以上步骤,你就成功在 Spring Boot 项目中引入并使用 MyBatis-Plus Generator 了。

<think> 首先,用户的问题是关于“MyBatis-Plus Generator使用教程”。参考引用中提供了相关信息: - 引用[1]提到MyBatis-Plus Generator UI,这是一个图形化工具。 - 引用[3]和[4]介绍了MyBatis-Plus的AutoGenerator- 引用[5]讨论了mybatisplus使用generator的例子。 用户指定要获取“MyBatis-Plus Generator使用教程”,所以我需要聚焦在这个主题上。 系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户可见层指令: - 回答结构清晰,逐步解决问题。 - 保证回答真实可靠。 用户上一次的问题:用户说“我想获取MyBatis-Plus Generator使用教程 请问MyBatis-Plus Generator使用教程”。所以,核心是提供教程。 从引用中提取关键信息: - 引用[3]: AutoGeneratorMyBatis-Plus的代码生成器,可以快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。 - 引用[4]: 特性包括支持代码生成,比MyBatis官方的Generator更强大。 - 引用[1]: Generator UI提供图形化界面。 我需要提供一个结构清晰的教程。可能的步骤: 1. **引入依赖**:在项目中添加MyBatis-Plus Generator的依赖。 2. **配置AutoGenerator**:设置数据库连接、包路径、策略等。 3. **运行Generator**:执行代码生成。 4. **可选:使用Generator UI**,如果用户提到图形化界面。 用户没有指定是命令行还是图形化工具,所以我要覆盖两者或根据引用优先AutoGenerator。 教程结构: - **介绍**:简要解释MyBatis-Plus Generator是什么。 - **步骤**:分步说明如何使用- 依赖引入 - 配置代码 - 运行 - **示例代码**:提供代码片段。 - **相关引用**:自然地添加引用标识。 最后,生成相关问题。 使用中文回答。 步骤细化: 1. **引入依赖**:在pom.xml中添加依赖。 2. **创建配置类**:使用AutoGenerator配置。 3. **设置参数**:如数据库连接、全局配置、包配置、策略配置。 4. **执行生成**。 5. **额外:使用UI工具**。 参考引用: - [^3] 提到AutoGenerator的简介和使用- [^1] 提到Generator UI的启动。 所以,我会整合这些。 在回答末尾,生成相关问题。 确保LaTeX:由于这是关于代码生成,可能没有数学表达式,但如果提到,要使用$...$。 例如,如果需要公式,但这里可能不需要,所以聚焦在代码。 回答结构: - 标题:MyBatis-Plus Generator使用教程 - 介绍:基于引用[3]和[4],解释AutoGenerator- 步骤: 1. 添加依赖 2. 配置AutoGenerator 3. 运行Generator 4. 可选:使用Generator UI - 代码示例:提供配置示例。 - 总结。 相关问题生成: 如:1. 如何自定义生成模板?2. 如何处理多表关联?等。 </think> ### MyBatis-Plus Generator使用教程 MyBatis-Plus Generator(简称Generator)是MyBatis-Plus框架中的一个核心组件,主要用于自动生成代码,包括Entity、Mapper、Mapper XML、Service、Controller等模块。它能显著提高开发效率,减少手动编写重复代码的工作量。Generator有两种主要形式:基于代码的AutoGenerator(命令行方式)和基于Web UI的Generator UI(图形化工具)。以下教程结合引用信息,分步讲解如何使用Generator。教程基于官方文档[^3],并使用Java语言演示。 #### 1. **准备工作:引入依赖** 在项目中添加MyBatis-Plus Generator的依赖。通常使用Maven项目,在`pom.xml`文件中添加以下依赖: ```xml <dependencies> <!-- MyBatis-Plus核心依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> <!-- 例如: 3.5.3 --> </dependency> <!-- Generator依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最新版本</version> <!-- 例如: 3.5.3 --> </dependency> <!-- 模板引擎依赖(可选,用于自定义模板) --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>最新版本</version> <!-- 例如: 2.3.31 --> </dependency> </dependencies> ``` 提示:确保版本匹配,最新版本可参考MyBatis-Plus官方文档[^4]。如果您使用Gradle或其他构建工具,需调整配置。 #### 2. **配置AutoGenerator(命令行方式)** AutoGenerator通过Java代码配置数据库连接和生成策略。以下是一个完整的配置示例,创建一个Java类(如`CodeGenerator.java`): ```java import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class CodeGenerator { public static void main(String[] args) { // 1. 初始化AutoGenerator对象 AutoGenerator generator = new AutoGenerator(); // 2. 全局配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); // 输出路径(项目根目录) globalConfig.setAuthor("您的名字"); // 作者信息 globalConfig.setOpen(false); // 生成后打开文件夹?false为不打开 globalConfig.setFileOverride(true); // 覆盖现有文件 globalConfig.setServiceImplName("%sService"); // Service接口后缀 generator.setGlobalConfig(globalConfig); // 3. 数据源配置 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/您的数据库名?useSSL=false"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("您的密码"); generator.setDataSource(dataSourceConfig); // 4. 包配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.example.demo"); // 父包名(您的项目包) packageConfig.setEntity("entity"); // Entity包名 packageConfig.setMapper("mapper"); packageConfig.setService("service"); packageConfig.setController("controller"); generator.setPackageInfo(packageConfig); // 5. 策略配置(表生成策略) StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 表名转驼峰命名 strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 列名转驼峰 strategyConfig.setEntityLombokModel(true); // 使用Lombok注解 strategyConfig.setInclude("表1","表2"); // 指定要生成的表(逗号分隔) strategyConfig.setRestControllerStyle(true); // RESTful风格Controller generator.setStrategy(strategyConfig); // 6. 执行生成 generator.execute(); } } ``` 参数详解: - **全局配置(GlobalConfig)**:控制输出目录、作者信息等。 - **数据源配置(DataSourceConfig)**:连接数据库(需替换为您的数据库URL、用户名和密码)。 - **包配置(PackageConfig)**:定义代码生成的包结构。 - **策略配置(StrategyConfig)**:设置命名规则、表名等。`setInclude`指定表名,支持多表。 - 运行后,代码将生成到指定目录中(如`src/main/java`),包含Entity、Mapper、Service等文件[^3]。 #### 3. **运行Generator** - 在IDE中(如IntelliJ IDEA或Eclipse),直接运行`CodeGenerator.java`的`main`方法。 - 控制台会输出生成日志,如:`生成 Entity 成功...`。 - 如果遇到问题,检查数据库连接是否成功,确保表名正确。 #### 4. **可选:使用Generator UI(图形化工具)** 如果您偏好图形界面,MyBatis-Plus Generator UI提供Web UI简化流程: - **启动UI**:添加依赖后(参考引用[^1]),运行内置服务: ```bash # 在命令行执行(确保项目已引入依赖) mvn spring-boot:run ``` 访问 `http://localhost:8080` 打开UI界面。 - **配置参数**:在Web页面填写数据库连接信息、包路径、表名等,点击“生成”按钮。 - 生成效果与AutoGenerator相同,但更直观[^1]。 #### 常见问题与优化 - **自定义模板**:Generator支持Freemarker模板(参考步骤1依赖),通过修改`templateEngine`配置自定义代码样式[^4]。 - **SQL查询生成**:Generator UI可直接导入SQL语句生成代码(引用[^1])。 - **注意事项**:Generator不会覆盖现有文件(除非`setFileOverride(true)`),建议在测试环境运行。 - **性能**:生成速度快,单表生成通常在1秒内完成,MyBatis-Plus对原生MyBatis无侵入,性能损耗小[^4]。 通过以上步骤,您可以快速生成CRUD代码。如需更详细配置,请参考MyBatis-Plus官方文档[^3][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值