mybatis代码生成工具

1、添加依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.3</version>
</dependency>
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.30</version>
</dependency>

2、启动类

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.yt.xcloud.sport.common.web.bean.YTBaseEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.Scanner;

public class CodeGenerator {

    public static void main(String []args) {
        //创建一个代码生成器
        FastAutoGenerator.create("jdbc:mysql://rm-bp122zg18qje78e68wo.mysql.rds.aliyuncs.com:3306/pigxx_sport_business?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false", "ytpigx", "YtPigx_2022")
                //全局配置(GlobalConfig)
            .globalConfig(builder -> {
                builder.author("xdd") // 设置作者,可以写自己名字
                        //.enableSwagger() // 开启 swagger 模式,这个是接口文档生成器,如果开启的话,就还需要导入swagger依赖
                        .fileOverride() // 覆盖已生成文件
                        .disableOpenDir()
                        .dateType(DateType.TIME_PACK) //时间策略
                        .commentDate("yyyy-MM-dd") //注释日期
                        .outputDir("D:\\project\\pigx\\xyh-server\\src\\main\\java"); // 指定输出目录,一般指定到java目录
            })
            //包配置(PackageConfig)
            .packageConfig(builder -> {
                System.out.println("----------------请输入文件夹名称----------------");
                Scanner sc=new Scanner(System.in);
                String s = sc.nextLine();
                builder.parent("com.yt.xcloud.sport.xyh") // 设置父包名
                        .moduleName(s); // 设置父包模块名,这里一般不设置
            })
            //策略配置(StrategyConfig)
            .strategyConfig(builder -> {
                System.out.println("----------------请输入表名名称(多个表用','分割)----------------");
                Scanner sc=new Scanner(System.in);
                String s = sc.nextLine();
                builder.addInclude(s) // 设置需要生成的表名
                       .addTablePrefix("tbl_yt_sport_xyh_"); // 设置过滤表前缀
                builder.entityBuilder()
                        .formatFileName("%sPO")
                        .superClass(YTBaseEntity.class)
                        .enableLombok();
                builder.serviceBuilder()
                        .superServiceClass(IService.class)
                        .formatServiceFileName("%sService") //设置service的命名策略,没有这个配置的话,生成的service和serviceImpl类前面会有一个I,比如IUserService和IUserServiceImpl
                        .superServiceImplClass(ServiceImpl.class)
                        .formatServiceImplFileName("%sServiceImpl"); //设置serviceImpl的命名策略
                builder.controllerBuilder()
                        .enableRestStyle(); // 开启生成@RestController 控制器,不配置这个默认是Controller注解,RestController是返回Json字符串的,多用于前后端分离项目。
                builder.mapperBuilder()
                        .superClass(BaseMapper.class)
                        .mapperAnnotation(Mapper.class);
            })
            .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板VelocityTemplateEngine
            .execute(); //执行以上配置
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值