MybatisPlus代码生成器
package com.lxh.config;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
import java.util.Scanner;
public class GeneratorCodeConfig {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=GMT%2B8",
"root", "123456")
.globalConfig(builder -> {
builder.author("lxh")
.disableOpenDir()
.enableSwagger()
.fileOverride()
.commentDate("yyyy-MM-dd")
.outputDir(System.getProperty("user.dir") + "/src/main/java");
})
.packageConfig(builder -> {
builder.parent("com.lxh")
.entity("entity")
.mapper("mapper")
.service("service")
.serviceImpl("service.impl")
.controller("controller")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, null));
})
.strategyConfig(builder -> {
builder.addInclude(scanner("表名,多个英文逗号分割").split(","))
.addTablePrefix("t_", "c_")
.entityBuilder()
.enableLombok()
.logicDeleteColumnName("del_flag")
.enableTableFieldAnnotation()
.superClass(Model.class)
.disableSerialVersionUID()
.serviceBuilder()
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
.controllerBuilder()
.formatFileName("%sController")
.enableRestStyle()
.mapperBuilder()
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper");
})
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
public static String scanner(String tip) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入" + tip + ":");
if (scanner.hasNext()) {
String ipt = scanner.next();
if (StringUtils.isNotEmpty(ipt)) {
return ipt;
}
}
throw new MybatisPlusException("请输入正确的" + tip + "!");
}
}