GeneratorCode.java
2.52 KB
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
76
77
78
79
package com.topdraw.code;
import com.topdraw.BaseTest;
import com.topdraw.domain.GenConfig;
import com.topdraw.domain.vo.ColumnInfo;
import com.topdraw.MemberServiceApplication;
import com.topdraw.service.GeneratorService;
import lombok.var;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @author Hongyan Wang
* @packageName PACKAGE_NAME
* @className GeneratorCode
* @description
* @date 2020/12/30 0:11
*/
public class GeneratorCode extends BaseTest {
@Autowired
private GeneratorService generatorService;
// @Autowired
// private WeixinInfoConfig weixinInfoConfig;
@Test
@Rollback(value = false)
@Transactional(rollbackFor = Exception.class)
public void generator() {
var dbName = "uc_user_weixin";
// 表名称,支持多表
var tableNames = Arrays.asList(dbName);
String[] s = dbName.split("_");
var pre = s[0];
var target1 = s[s.length-1];
var preRoute = "com.topdraw.business.basicdata.user.";
StringBuilder builder = new StringBuilder(preRoute);
builder.append("weixin");
// builder.append(target);
tableNames.forEach(tableName -> {
// 生成的表名称
// var tableName = "x_media";
// 拿参数
var columnsMap = (Map<String, Object>) generatorService.getColumns(tableName);
var columnInfos = (List<ColumnInfo>) columnsMap.get("content");
// 只生成后端的话,只需要配置下包名和是否覆盖,
var genConfig = new GenConfig()
// 未设置id无法生成
.setId(1L)
// 根据需求更改包路径
.setPack(builder.toString())
// 前端路径。不生成前端可置空
.setPath("")
// 作者
.setAuthor("XiangHan")
// 表前缀。生成实体时,会移除该前缀
.setPrefix(pre)
// 若文件存在,是否进行覆盖
.setCover(true);
// 生成代码
generatorService.generator(columnInfos, genConfig, tableName);
});
}
}