簡介
簡潔好用的資料庫表結構文檔生成工具
特點
- 簡潔、輕量、設計良好
- 多資料庫支援
- 多種格式文檔
- 靈活擴充
- 支援自定義模闆
資料庫支援
MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB(2016)
文檔生成支援
html
word
markdown
文檔截圖
- html
- word
- markdwon
使用方式
- 引入依賴
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>${lastVersion}</version>
</dependency>
- 編寫代碼
/**
* 文檔生成
*/
void documentGeneration() {
//資料源
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/database");
hikariConfig.setUsername("root");
hikariConfig.setPassword("password");
//設定可以擷取tables remarks資訊
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
//生成配置
EngineConfig engineConfig = EngineConfig.builder()
//生成檔案路徑
.fileOutputDir(fileOutputDir)
//打開目錄
.openOutputDir(true)
//檔案類型
.fileType(EngineFileType.HTML)
//生成模闆實作
.produceType(EngineTemplateType.freemarker)
//自定義檔案名稱
.fileName("自定義檔案名稱").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();
}
根據自己情況修改documentGeneration()方法:
- 設定資料源
HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/db_gjsp");hikariConfig.setUsername("root");hikariConfig.setPassword("root");
- 自定義配置資訊
EngineConfig engineConfig = EngineConfig.builder() //生成檔案路徑 .fileOutputDir("E:\\") //打開目錄 .openOutputDir(true) //檔案類型 .fileType(EngineFileType.MD) //生成模闆實作 .produceType(EngineTemplateType.freemarker) //自定義檔案名稱 .fileName("db_gjsp資料庫文檔").build();
- 啟動項目,生成檔案!