はじめに
データベースドキュメントは、チームメンバーがエクセル、開発のためのその後の需要の最終的な要約を書くことができるように設計されて、時にはデータベースの設計文書を更新することを忘れて、今、このツールを介して、反復の各バージョンは、クラスの後に文書の生成の実装では、より多くの時間を節約する努力です。
依存関係の導入
<!--データベースドキュメントのコアの依存関係-->
<dependency>
<groupId>.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.2</version>
</dependency>
<!-- HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.3</version>
</dependency>
<!--mysql driver-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
テストクラスの作成
public class GenerateDocsTest {
public static void main(String[] args) {
}
@Test
public void shouldAnswerWithTrueTest() {
//
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("データベースのアドレス");
hikariConfig.setUsername("データベースのユーザー名");
hikariConfig.setPassword("データベースパスワード");
// テーブルの備考情報を取得するように設定する
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
// 設定を生成する
EngineConfig engineConfig = EngineConfig.builder()
// ファイルパスを生成する
.fileOutputDir("生成ドキュメントは、ローカルパスを保存する")
// ディレクトリを開く コード実行後に自動的に対応するパスフォルダを開くにはtrueに設定する。
.openOutputDir(true)
// ファイルの種類は、現在docとhtmlの2種類がある。
.fileType(EngineFileType.HTML)
// テンプレートの実装を生成する
.produceType(EngineTemplateType.freemarker).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()
// テーブル名を無視する
.ignoreTableName(ignoreTableName)
// テーブルの接頭辞を無視する
.ignoreTablePrefix(ignorePrefix)
// テーブルの接尾辞を無視する
.ignoreTableSuffix(ignoreSuffix).build();
//
Configuration config = Configuration.builder()
//
.version("1.1.3")
//
.description("データベース設計ドキュメント")
//
.dataSource(dataSource)
// 設定を生成する
.engineConfig(engineConfig)
// 設定を生成する
.produceConfig(processConfig).build();
// 世代を実行する
new DocumentationExecute(config).execute();
}
}