【java深入學習第2章】Spring Boot 結合 Screw:高效生成資料庫設計文件之道

自足發表於2024-07-14

在開發過程中,資料庫設計文件是非常重要的,它可以幫助開發者理解資料庫結構,方便後續的維護和擴充套件。手動編寫資料庫設計文件不僅耗時,而且容易出錯。幸運的是,可以使用Spring Boot和Screw來自動生成資料庫設計文件。

什麼是Screw?

Screw是一個開源的資料庫文件生成工具,它可以根據資料庫的後設資料自動生成資料庫設計文件。Screw支援多種資料庫型別,並且生成的文件格式美觀、易讀。

準備工作

在開始之前,請確保你已經安裝了以下工具:

  • JDK 8或更高版本
  • Maven
  • 一個支援的資料庫(如MySQL)

建立Spring Boot專案

首先,我們建立一個新的Spring Boot專案。你可以使用Spring Initializr快速建立專案,選擇以下依賴:

  • Spring Web
  • Spring Data JPA
  • MySQL Driver

1. 新增Screw依賴

pom.xml檔案中新增Screw的依賴:

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

2. 配置資料庫連線

application.ymlapplication.properties檔案中配置資料庫連線資訊:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver

3. 編寫生成文件的程式碼

建立一個新的類ScrewGenerator,用於生成資料庫設計文件:

import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.engine.EngineType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

@SpringBootApplication
public class ScrewGenerator implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(ScrewGenerator.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        // 資料來源配置
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC");
        hikariConfig.setUsername("your_username");
        hikariConfig.setPassword("your_password");
        DataSource dataSource = new HikariDataSource(hikariConfig);

        // Screw 配置
        Configuration config = Configuration.builder()
                .version("1.0.0")
                .description("Database Design Document")
                .dataSource(dataSource)
                .engineConfig(Configuration.EngineConfig.builder()
                        .fileOutputDir("output")
                        .openOutputDir(true)
                        .fileType(EngineFileType.HTML)
                        .produceType(EngineTemplateType.freemarker)
                        .build())
                .produceConfig(Configuration.ProduceConfig.builder()
                        .ignoreTablePrefix(new ArrayList<>())
                        .ignoreTableSuffix(new ArrayList<>())
                        .build())
                .build();

        // 執行生成
        new DocumentationExecute(config).execute();
    }
}

4. 執行生成文件

執行ScrewGenerator類,Screw將連線到你的資料庫並生成資料庫設計文件。生成的文件將儲存在output目錄中。

總結

透過使用Spring Boot和Screw,可以輕鬆地生成資料庫設計文件,從而提高開發效率,減少手動編寫文件的工作量。Screw支援多種資料庫型別,生成的文件格式美觀、易讀,非常適合在專案中使用。

AI寫論文入口,專業4.0模型加持,有需要的朋友速入👉:AI寫論文🔥🔥🔥

相關文章