当前位置:网站首页>Screw database document generator

Screw database document generator

2022-06-22 19:32:00 Algeria GG is learning

One 、 Introduce dependencies

<dependency>
    <groupId>cn.smallbun.screw</groupId>
    <artifactId>screw-core</artifactId>
    <version>1.0.3</version>
</dependency>

  Two 、 Write in test class

package com.bojian.digital.clinic;

import cn.smallbun.screw.core.*;

import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.sql.DataSource;
import java.util.ArrayList;

@SpringBootTest
class ClinicApplicationTests {

    @Test
    void documentGeneration() {
        // data source 
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/Datebase");
        hikariConfig.setUsername("root");
        hikariConfig.setPassword("password");
        // Set to get tables remarks Information 
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);
        // Generate configuration 
        EngineConfig engineConfig = EngineConfig.builder()
                // Generate file path 
                .fileOutputDir(" File path ")
                // Open Directory 
                .openOutputDir(true)
                // file type 
                .fileType(EngineFileType.HTML)
                // Generate template implementation 
                .produceType(EngineTemplateType.freemarker)


                // Custom file name 
//                .fileName("SQl.html")
                .build();

        // Ignore table 
        ArrayList<String> ignoreTableName = new ArrayList<>();
        ignoreTableName.add("test_user");
        ignoreTableName.add("test_group");
        // Ignore table prefix 
        ArrayList<String> ignorePrefix = new ArrayList<>();
        ignorePrefix.add("test_");
        // Ignore table suffix 
        ArrayList<String> ignoreSuffix = new ArrayList<>();
        ignoreSuffix.add("_test");
        ProcessConfig processConfig = ProcessConfig.builder()
                // Specify the generation logic 、 When there is a specified table 、 Specify table prefix 、 When specifying the table suffix , The specified table will be generated , The rest of the tables do not generate 、 And skip ignoring table configuration 
                // Specify a table by name to generate 
                .designatedTableName(new ArrayList<>())
                // Generate according to the table prefix 
                .designatedTablePrefix(new ArrayList<>())
                // Generate from table suffix 
                .designatedTableSuffix(new ArrayList<>())
                // Ignore table name 
                .ignoreTableName(ignoreTableName)
                // Ignore table prefix 
                .ignoreTablePrefix(ignorePrefix)
                // Ignore table suffix 
                .ignoreTableSuffix(ignoreSuffix).build();
        // To configure 
        Configuration config = Configuration.builder()
                // edition 
                .version("1.0.0")
                // describe 
                .description(" Database design document generation ")
                // data source 
                .dataSource(dataSource)
                // Generate configuration 
                .engineConfig(engineConfig)
                // Generate configuration 
                .produceConfig(processConfig)
                .build();
        // Perform build 
        new DocumentationExecute(config).execute();
    }

}

After running, view the generated files according to the directory type

原网站

版权声明
本文为[Algeria GG is learning]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206221759424786.html