簡介
在企業級開發中、我們經常會有編寫數據庫表結構文檔的時間付出,從業以來,待過幾家企業,關于數據庫表結構文檔狀態:要么沒有、要么有、但都是手寫、后期運維開發,需要手動進行維護到文檔中,很是繁瑣、如果忘記一次維護、就會給以后工作造成很多困擾、無形中制造了很多坑留給自己和后人,于是萌生了要自己寫一個插件工具的想法,但由于自己前期在程序設計上沒有很多造詣,且能力偏低,有想法并不能很好實現,隨著工作閱歷的增加,和知識的不斷儲備,終于在2020年的3月中旬開始進行編寫,4月上旬完成初版,想完善差不多在開源,但由于工作太忙,業余時間不足,沒有在進行完善,到了6月份由于工作原因、頻繁設計和更改數據庫、經常使用自己寫的此插件、節省了很多時間,解決了很多問題 ,在僅有且不多的業余時間中、進行開源準備,于2020年6月22日,開源,歡迎大家使用、建議、并貢獻。
??關于名字,想一個太難了,好在我這個聰明的小腦瓜靈感一現,怎么突出它的小,但重要呢?從小就學過雷鋒的螺絲釘精神,摘自雷鋒日記:雖然是細小的螺絲釘,是個細微的小齒輪,然而如果缺了它,那整個的機器就無法運轉了,慢說是缺了它,即使是一枚小螺絲釘沒擰緊,一個小齒輪略有破損,也要使機器的運轉發生故障的...,感覺自己寫的這個工具,很有這意味,雖然很小、但是開發中缺了它還不行,于是便起名為screw(螺絲釘)
screw 特點
- 簡潔、輕量、設計良好。不需要 powerdesigner 這種重量的建模工具
- 多數據庫支持 。支持市面常見的數據庫類型 MySQL、Oracle、SqlServer
- 多種格式文檔。支持 MD、HTML、WORD 格式
- 靈活擴展。支持用戶自定義模板和展示樣式
支持數據庫類型
[??] MySQL
[??] MariaDB
[??] TIDB
[??] Oracle
[??] SqlServer
[??] PostgreSQL
[??] Cache DB
文檔截圖
使用方式
普通方式
cn.smallbun.screw screw-core ${lastVersion}
/** * 文檔生成 */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 ignoreTableName = new ArrayList<>(); ignoreTableName.add("test_user"); ignoreTableName.add("test_group"); //忽略表前綴 ArrayList ignorePrefix = new ArrayList<>(); ignorePrefix.add("test_"); //忽略表后綴 ArrayList 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();}
Maven 插件
cn.smallbun.screw screw-maven-plugin ${lastVersion}com.zaxxer HikariCP 3.4.5mysql mysql-connector-java 8.0.20rootpasswordcom.mysql.cj.jdbc.Driverjdbc:mysql://127.0.0.1:3306/xxxxHTMLfalsefreemarker測試文檔名稱 數據庫文檔生成${project.version}數據庫文檔compilerun
學習交流私信【源碼】
總結
以上是生活随笔為你收集整理的postgre 生成数据库html文档_还在手动整理数据库文档?试试这个(螺丝钉)数据库文档生成工具...的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。