MyBatis-Plus代码生成器极速开发指南

MyBatis-Plus 的 AutoGenerator(代码生成器) 可以快速生成 Entity、Mapper、Service、Controller 等基础代码,极大提升开发效率。以下是详细使用步骤:

 1. 导入相应的依赖

  <!-- MyBatis-Plus 生成器 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version> <!-- 使用最新版本 -->
        </dependency>
        <!-- Freemarker 模板引擎 -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.32</version>
        </dependency>

 2.  编写生成器配置
创建一个 Java 类(如 CodeGenerator.java),其中最主要的一个类是AutoGenerator 配置生成规则:1.创建代码生成器对象  。2. 全局配置。3. 数据源配置。  4. 包配置。5. 策略配置(数据库表设置) 

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 generator = new AutoGenerator();

        // 2. 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
        globalConfig.setAuthor("YourName"); // 作者名
        globalConfig.setOpen(false); // 生成后不打开文件夹
        globalConfig.setSwagger2(true); // 开启 Swagger 注解
        generator.setGlobalConfig(globalConfig);

        // 3. 数据源配置
        DataSourceConfig dataSource = new DataSourceConfig();
        dataSource.setUrl("jdbc:mysql://localhost:3306/your_db?useSSL=false&serverTimezone=UTC");
        dataSource.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");
        generator.setDataSource(dataSource);

        // 4. 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example"); // 父包名
        packageConfig.setModuleName("system"); // 模块名(可选)
        packageConfig.setEntity("entity"); // 实体类包名
        packageConfig.setMapper("mapper");
        packageConfig.setService("service");
        packageConfig.setController("controller");
        generator.setPackageInfo(packageConfig);

        // 5. 策略配置(数据库表设置)
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel); // 表名转驼峰
        strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 列名转驼峰
        strategy.setEntityLombokModel(true); // 使用 Lombok
        strategy.setRestControllerStyle(true); // RESTful 控制器
        strategy.setInclude("user", "order"); // 要生成的表名(多个用逗号分隔)
        strategy.setControllerMappingHyphenStyle(true); // URL 中驼峰转连字符
        generator.setStrategy(strategy);

        // 6. 执行生成
        generator.execute();
    }
}
``

 注意: MyBatis-Plus 代码生成器默认使用 Velocity 模板引擎,而本文中用的的Freemarker。如果想用Freemarker仅仅引入依赖是不够的  还需要

        // 添加这行配置使用 Freemarker
        generator.setTemplateEngine(new FreemarkerTemplateEngine());

另外本文中用到了swagger 所以还要引入相关依赖

 <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>3.0.0</version>
        </dependency>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值