c7d6283de8b998c6a0e7162ac27b9aa964a96040
code-gen.md
... | ... | @@ -3,5 +3,57 @@ |
3 | 3 | 代码生成器引入了更加灵活和高效的 builder 模式,使得开发者能够快速生成符合需求的代码,同时保持代码的优雅和整洁。这个新特性旨在进一步提升开发效率,减少重复劳动,让开发者能够更加专注于业务逻辑的实现。 |
4 | 4 | |
5 | 5 | |
6 | +``` |
|
7 | +F |
|
8 | +astAutoGenerator.create(ConfigUtils.load("dbcp.properties")) |
|
9 | +.dataSourceConfig(builder -> { |
|
10 | +builder.databaseQueryClass(DefaultQuery.class); |
|
11 | +}) |
|
12 | +.globalConfig(builder -> { |
|
13 | +builder.outputDir("C:\\Users\\29662\\Documents\\dynamic-group\\src\\main\\java\\com\\sie\\snest\\dynamic\\group\\model\\"); |
|
14 | +builder.author("mijiuye"); |
|
15 | +builder.jsonFilePath("C:\\Users\\29662\\IdeaProjects\\sie-snest\\sie-snest-code-generator\\src\\main\\java\\com\\sie\\snest\\engine\\generator\\app.json"); |
|
16 | +}) |
|
17 | +.packageConfig(builder -> { |
|
18 | +builder.parent("com.sie.snest.dynamic.group"); |
|
19 | +builder.version("1.0.0"); |
|
20 | +}) |
|
21 | +.templateConfig(builder -> builder.classzz(true)) |
|
22 | +.compilerConfig(builder -> { |
|
6 | 23 | |
24 | +String sourceDir = "C:\\Users\\29662\\Documents\\dynamic-group\\"; |
|
25 | +String libDir = "C:\\Users\\29662\\Documents\\dynamic-group\\target\\lib\\"; |
|
26 | +String outputLocation = "C:\\Users\\29662\\Documents\\dynamic-group\\src\\main\\java\\"; |
|
27 | + |
|
28 | + |
|
29 | +List<String> filenames = null; |
|
30 | +try { |
|
31 | +filenames = FileUtils.getFileNames(new File(libDir), "**/*.jar", null, false, true); |
|
32 | +} catch (IOException e) { |
|
33 | +throw new RuntimeException(e); |
|
34 | +} |
|
35 | +Collections.sort(filenames); |
|
36 | +List<String> classpathEntries = new ArrayList<>(); |
|
37 | +for (String filename : filenames) { |
|
38 | +classpathEntries.add(libDir + filename); |
|
39 | +} |
|
40 | + |
|
41 | + |
|
42 | +builder.setClasspathEntries(classpathEntries); |
|
43 | +builder.addSourceLocation(sourceDir); |
|
44 | +builder.setOutputLocation(outputLocation); |
|
45 | +try { |
|
46 | +FileUtils.deleteDirectory(outputLocation); |
|
47 | +} catch (IOException e) { |
|
48 | +throw new RuntimeException(e); |
|
49 | +} |
|
50 | +// compilerConfig.addInclude( filename ); |
|
51 | +//compilerConfig.setSourceFiles(files); |
|
52 | +builder.setTargetVersion("1.8"); |
|
53 | +builder.setSourceVersion("1.8"); |
|
54 | +}) |
|
55 | +.templateEngine(new FreemarkerTemplateEngine()) |
|
56 | +.execute(); |
|
57 | + |
|
58 | +``` |
|
7 | 59 |