1、导入依赖

<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.2</version>
</dependency>

2、使用

package com.tuzhi;



import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.apache.ibatis.annotations.Mapper;
import org.junit.Test;
import org.springframework.util.StringUtils;

import java.util.Collections;

/**
 * @program: guli_parent
 * @description:
 * @author: 兔子
 * @create: 2022-03-06 20:06
 **/


public class Generator {
    @Test
    public void run() {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/guli?serverTimezone=Asia/Shanghai&amp&useSSL=true&amp&useUnicode=true&amp&characterEncoding=utf-8",
                "root", "root")
                .globalConfig(builder -> {
                    builder.author("tuzhi") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\项目\\谷粒学院\\guli_parent\\service\\service_edu\\src\\main\\java") // 指定输出目录
                            .disableOpenDir(); //禁止打开输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.tuzhi") // 设置父包名
                            .moduleName("edu_service") // 设置父包模块名
                            .entity("pojo"); //设置实体类的名字
                })
                .strategyConfig(builder -> {
                    builder.addInclude("edu_chapter", "edu_course", "edu_course_description", "edu_video") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
//                实体策略
                .strategyConfig(builder -> {
                    builder.entityBuilder()
                    .enableLombok()
                    .enableChainModel()
                    .idType(IdType.ASSIGN_ID);
                })
//                controller配置策略
                .strategyConfig(builder -> {
                    builder.controllerBuilder()
//                    开启生成@RestController 控制器
                    .enableRestStyle();
                })
//                Mapper配置策略
                .strategyConfig(builder -> {
                    builder.mapperBuilder()
//                    创建Mapper接口的时候都会添加一个@Mapper注解
                    .enableMapperAnnotation();
                })
//                service配置策略
                .strategyConfig(builder -> {
                    builder.serviceBuilder()
                    .formatServiceFileName("%sService")
                    .formatServiceImplFileName("%sServiceImp");
                })
//                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐