中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot整合screw實現數據庫文檔自動生成

發布時間:2020-11-02 16:16:26 來源:億速云 閱讀:233 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關SpringBoot整合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 運行該方法

SpringBoot整合screw實現數據庫文檔自動生成

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 運行test方法生成

SpringBoot整合screw實現數據庫文檔自動生成

以上就是SpringBoot整合screw實現數據庫文檔自動生成,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳河县| 左云县| 兴山县| 广德县| 九龙县| 广宁县| 荣成市| 镇赉县| 宁夏| 驻马店市| 黑龙江省| 东源县| 泰顺县| 乐昌市| 富蕴县| 涞源县| 吉水县| 桐乡市| 滨海县| 孙吴县| 故城县| 手机| 兴义市| 和田县| 平果县| 汉寿县| 安丘市| 天长市| 玉屏| 筠连县| 桐庐县| 彰化市| 南阳市| 鄂托克前旗| 沈阳市| 女性| 武汉市| 定西市| 舞钢市| 若尔盖县| 浦东新区|