抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

官网文档

代码生成器

代码生成器配置

文档理解

代码生成器的名字叫 AutoGenerator

代码生成器配置分为以下几项

  • GlobalConfig 全局配置
  • DataSourceConfig 数据源配置
  • PackageConfig 包配置
  • InjectionConfig 自定义配置(可以猜是不是模板引擎对应的配置了)
  • TemplateConfig 配置模板
  • StrategyConfig 策略配置

注意的事项

  1. DataSourceConfig 必须配置数据库类型

我配好的代码生成器配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.ifkal.demo.generate;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;

import java.util.Scanner;

/**
* Created by fh on 2019/12/3
*/
public class CodeGenerator {
/**
* <p>
* 读取控制台内容
* </p>
*/
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 + "!");
}

public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
String projectPath = System.getProperty("user.dir");

// 全局配置
GlobalConfig gc = new GlobalConfig()
.setOutputDir(projectPath + "/src/main/java")
.setAuthor("ifkal")
.setOpen(false);
mpg.setGlobalConfig(gc);

// 数据源配置
DataSourceConfig dsc = new DataSourceConfig()
.setUrl("jdbc:sqlite:" + projectPath + "/identifier.sqlite")
.setDbType(DbType.SQLITE)
.setDriverName("org.sqlite.JDBC");
mpg.setDataSource(dsc);

// 包配置
PackageConfig pc = new PackageConfig()
.setModuleName(scanner("模块名"))
.setParent("com.ifkal.demo");
mpg.setPackageInfo(pc);

// 策略配置
StrategyConfig strategy = new StrategyConfig()
.setNaming(NamingStrategy.underline_to_camel)
.setColumnNaming(NamingStrategy.underline_to_camel)
.setEntityLombokModel(true)
.setRestControllerStyle(true)
.setInclude(scanner("表名,多个英文逗号分割").split(","))
.setControllerMappingHyphenStyle(true)
.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new VelocityTemplateEngine());
mpg.execute();
}
}

评论