MybatisPlus自动代码生成器

编写自动代码生成器


package com.mybatisPlus.config;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.TemplateConfig;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.fill.Column;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;

/**
 *
 * mybatisPlus自动代码生成器
 *
 */
public class mybatisPlusCode {

	public static void main(String[] args) {
	
			 FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?serverTimezone=Asia/Shanghai", "root", "root")
		         // 全局配置
		         .globalConfig((scanner, builder) -> builder
		         		  //除了作者还有其他的配置,可自行配置
		                 .author(scanner.apply("请输入作者名称?")).fileOverride()
		                 .disableOpenDir()
		                 //这个是代码生成的路径,指要把需要的代码都生成到哪个包下边
		                 .outputDir("D:\\work\\mybatisPlus\\src\\main\\java") // 指定输出目录
		         )
		         // 包配置
		         .packageConfig((builder) -> builder
	         		 //这个是你项目的父包
	                 .parent("com.mybatisPlus")
	                 //下边的就是要创建的包的配置
	                 .entity("entity")
	                 .service("service")
					 //因为你的Impl是要在service包下面的,这里有问题,需要把impl包手动移动到service包下    
	                 .serviceImpl("Impl")
	                         + "\\src\\main\\java\\com\\mybatisPlus\\service"))
	                 .mapper("mapper")
	                 .controller("controller")
	                 //xml文件也一样,都需要单独配置一下生成路径
	                 .xml("mapper")
	                 .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"\\src\\main\\resources\\mapper"))
		
		         )
		         // 策略配置
		         .strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?如果生成所有表输入 all")))
	                 .controllerBuilder().enableRestStyle().enableHyphenStyle()
	                 .entityBuilder().enableLombok().addTableFills(
	                  	new Column("create_time", FieldFill.INSERT)
	                 ).build())
		         /*
		             模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker
		             .templateEngine(new BeetlTemplateEngine())
		          */
		         .templateConfig(new Consumer<TemplateConfig.Builder>() {
		             @Override
		             public void accept(TemplateConfig.Builder builder) {
		                 // 实体类使用我们自定义模板
		                 builder.build();
		             }
		         })
		         .templateEngine(new FreemarkerTemplateEngine())
		         .execute();
			         
	}
    // 处理 all 情况
    protected static List<String> getTables(String tables) {
        return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
    }
}

代码生成前

这里是没有任何的实体类包Mapper包等
生成代码前

生成代码后

我们需要手动把impl包移动到service包下,这里有问题,之后会改良代码!
运行成功
这里有问题,需要手动把这个包移动到service包下
官网链接:mybatis-plus官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的QoQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值