SpringBoot 통합 screw 데이터베이스 문서 자동 생 성 예시 코드

때때로 데이터베이스 문 서 를 정리 해 야 하지만 수 동 으로 복사 해서 붙 여 넣 을 수 밖 에 없어 서 마음속 에 만 마리 의 진흙 말 이 세차 게 지나 간다.
screw
간결 하고 사용 하기 좋 은 데이터베이스 테이블 구조 문서 생 성 도구 입 니 다.
1.항목 만 들 기
1.1 pom.xml

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>

<dependency>
  <groupId>org.freemarker</groupId>
  <artifactId>freemarker</artifactId>
  <version>2.3.30</version>
</dependency>

<dependency>
  <groupId>cn.smallbun.screw</groupId>
  <artifactId>screw-core</artifactId>
  <version>1.0.5</version>
</dependency>
1.2 새 도구 클래스 DocumentConfig.java

/**
   *     
   */
  static void documentGeneration() {
    //   
    HikariConfig hikariConfig = new HikariConfig();
    hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
    hikariConfig.setJdbcUrl("jdbc:mysql://IP  :3306/     ");
    hikariConfig.setUsername("   ");
    hikariConfig.setPassword("  ");
    //      tables remarks  
    hikariConfig.addDataSourceProperty("useInformationSchema", "true");
    hikariConfig.setMinimumIdle(2);
    hikariConfig.setMaximumPoolSize(5);
    DataSource dataSource = new HikariDataSource(hikariConfig);
    //    
    EngineConfig engineConfig = EngineConfig.builder()
        //      
        .fileOutputDir("D:\\")
        //    
        .openOutputDir(true)
        //    
        .fileType(EngineFileType.HTML)
        //      
        .produceType(EngineTemplateType.freemarker)
        //       
        .fileName("test   ").build();

    //   
    ArrayList<String> ignoreTableName = new ArrayList<>();
    ignoreTableName.add("test_user");
    ignoreTableName.add("test_group");
    //     
    ArrayList<String> ignorePrefix = new ArrayList<>();
    ignorePrefix.add("test_");
    //     
    ArrayList<String> ignoreSuffix = new ArrayList<>();
    ignoreSuffix.add("_test");
    ProcessConfig processConfig = ProcessConfig.builder()
        //      、      、     、      ,      ,      、        
        //         
        .designatedTableName(new ArrayList<>())
        //       
        .designatedTablePrefix(new ArrayList<>())
        //       
        .designatedTableSuffix(new ArrayList<>())
        //    
        .ignoreTableName(ignoreTableName)
        //     
        .ignoreTablePrefix(ignorePrefix)
        //     
        .ignoreTableSuffix(ignoreSuffix).build();
    //  
    Configuration config = Configuration.builder()
        //  
        .version("1.0.0")
        //  
        .description("         ")
        //   
        .dataSource(dataSource)
        //    
        .engineConfig(engineConfig)
        //    
        .produceConfig(processConfig)
        .build();
    //    
    new DocumentationExecute(config).execute();
  }
1.3 이 방법 실행

1.4 두 번 째 생 성 설정
1.4.1 먼저 application.yml 에 데이터베이스 연결 정 보 를 설정 합 니 다.

spring:
 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://IP  :3306/     
  username:    
  password:   
  xa:
   properties:
    useInformationSchema: true
1.4.2 새 test 방법

import cn.smallbun.screw.core.Configuration;
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 org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;

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

@SpringBootTest
public class ScrewApplicationTests {

  @Autowired
  ApplicationContext applicationContext;

  @Test
  void contextLoads() {
    DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);

    //       
    EngineConfig engineConfig = EngineConfig.builder()
        //       ,  mac     ,           
        .fileOutputDir("D:\\")
        //     
        .openOutputDir(false)
        //     
        .fileType(EngineFileType.HTML)
        //       
        .produceType(EngineTemplateType.freemarker).build();

    //       (          、       )
    Configuration config = Configuration.builder()
        .version("1.0.0")
        .description("        ")
        .dataSource(dataSourceMysql)
        .engineConfig(engineConfig)
        .produceConfig(getProcessConfig())
        .build();

    //     
    new DocumentationExecute(config).execute();
  }


  /**
   *         +         
   * @return      
   */
  public static ProcessConfig getProcessConfig(){
    //     
    List<String> ignoreTableName = Arrays.asList("aa","test_group");
    //      ,   a       
    List<String> ignorePrefix = Arrays.asList("a","t");
    //      
    List<String> ignoreSuffix = Arrays.asList("_test","czb_");

    return ProcessConfig.builder()
        //         
        .designatedTableName(new ArrayList<>())
        //       
        .designatedTablePrefix(new ArrayList<>())
        //       
        .designatedTableSuffix(new ArrayList<>())
        //    
        .ignoreTableName(ignoreTableName)
        //     
        .ignoreTablePrefix(ignorePrefix)
        //     
        .ignoreTableSuffix(ignoreSuffix).build();
  }

}
1.4.3 테스트 실행 방법 생 성

GitHub 코드 주소:
github.com/zhouzhaodong/springboot/tree/master/spring-boot-screw
SpringBoot 통합 screw 가 데이터베이스 문 서 를 자동 으로 생 성 하 는 예제 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 SpringBoot 데이터베이스 문서 자동 생 성 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기