【云圖說】第235期 DDS讀寫兩步走 帶您領略只讀節點的風采
850
2025-03-31
前言:
以前我們還需要手寫數據庫設計文檔、現在可以通過引入screw核心包來實現Java 數據庫文檔一鍵生成。話不多說、直接上代碼演示。
支持的數據庫列表:
MySQL
MariaDB
TIDB
Oracle
SqlServer
這些主流的數據庫都支持的。
實現步驟:
引入 pom.xml核心配置screw包
main方法類全部代碼:
package com.railway.modules.sys.controller; /** * Created by LiYangYong on 2021/11/11 */ 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 com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import javax.sql.DataSource; import java.util.Arrays; import java.util.Collections; /** * Created by LiYangYong on 2021/11/11. */ public class TestScrewMain { private static final String DB_URL = "jdbc:mysql://localhost:3307"; private static final String DB_NAME = "renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"; private static final String DB_USERNAME = "root"; private static final String DB_PASSWORD = "crit@2019"; private static final String FILE_OUTPUT_DIR = "C:\Users\Administrator\Desktop\java\"; // 可以設置 Word 或者 Markdown 格式 private static final EngineFileType FILE_OUTPUT_TYPE = EngineFileType.WORD; private static final String DOC_FILE_NAME = "數據庫表設計文檔"; private static final String DOC_VERSION = "V1.0.0"; private static final String DOC_DESCRIPTION = "數據庫表設計描述"; public static void main(String[] args) { // 創建 screw 的配置 Configuration config = Configuration.builder() // 版本 .version(DOC_VERSION) // 描述 .description(DOC_DESCRIPTION) // 數據源 .dataSource(buildDataSource()) // 引擎配置 .engineConfig(buildEngineConfig()) // 處理配置 .produceConfig(buildProcessConfig()) .build(); // 執行 screw,生成數據庫文檔 new DocumentationExecute(config).execute(); } /** * 創建數據源 */ private static DataSource buildDataSource() { // 創建 HikariConfig 配置類 HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setDriverClassName("com.mysql.jdbc.Driver"); hikariConfig.setJdbcUrl(DB_URL + "/" + DB_NAME); hikariConfig.setUsername(DB_USERNAME); hikariConfig.setPassword(DB_PASSWORD); // 設置可以獲取 tables remarks 信息 hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 創建數據源 return new HikariDataSource(hikariConfig); } /** * 創建 screw 的引擎配置 */ private static EngineConfig buildEngineConfig() { return EngineConfig.builder() // 生成文件路徑 .fileOutputDir(FILE_OUTPUT_DIR) // 打開目錄 .openOutputDir(false) // 文件類型 .fileType(FILE_OUTPUT_TYPE) // 文件類型 .produceType(EngineTemplateType.freemarker) // 自定義文件名稱 .fileName(DOC_FILE_NAME) .build(); } /** * 創建 screw 的處理配置,一般可忽略 * 指定生成邏輯、當存在指定表、指定表前綴、指定表后綴時,將生成指定表,其余表不生成、并跳過忽略表配置 */ private static ProcessConfig buildProcessConfig() { return ProcessConfig.builder() // 根據名稱指定表生成 .designatedTableName(Collections.
生成的數據庫設計文檔演示
表qrtz_blob_triggers
編號
名稱
數據類型
長度
小數位
允許空值
主鍵
默認值
說明
1
SCHED_NAME
varchar
120
0
N
Y
2
TRIGGER_NAME
varchar
200
0
N
Y
3
TRIGGER_GROUP
varchar
200
0
N
Y
4
BLOB_DATA
blob
65535
0
Y
N
表qrtz_calendars
編號
名稱
數據類型
長度
小數位
允許空值
主鍵
默認值
說明
1
SCHED_NAME
varchar
120
0
N
Y
2
CALENDAR_NAME
varchar
200
0
N
Y
3
CALENDAR
blob
65535
0
N
N
表qrtz_cron_triggers
編號
名稱
數據類型
長度
小數位
允許空值
主鍵
默認值
說明
1
SCHED_NAME
varchar
120
0
N
Y
2
TRIGGER_NAME
varchar
200
0
N
Y
3
TRIGGER_GROUP
varchar
200
0
N
Y
4
CRON_EXPRESSION
varchar
120
0
N
N
5
TIME_ZONE_ID
varchar
80
0
Y
N
這樣就解放雙手拉 。
精彩專欄推薦:
Java畢設項目精品實戰案例《100套》
Java 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。