手动整理数据库文档已过期?看看这个工具

职业生涯一路走来,待过的公司也不下三家。就没见过有特别规范的数据库设计文档的企业,今天给大家介绍一个非常好用的工具。它就是screw

https://toscode.gitee.com/leshalv/screw

screw具有以下特点:

  • 简洁、轻量、设计良好

  • 多数据库支持

  • 多种格式文档

  • 灵活扩展

  • 支持自定义模板

从官方说明知道已经支持的数据,以及准备支持的数据

0x01:新建项目

新建项目com-screw,并引入screw

  

          cn.smallbun.screw
          screw-core
          1.0.2
      
      
      
          com.zaxxer
          HikariCP
          3.4.5
      
      
      
            mysql
            mysql-connector-java
            5.1.47
            runtime
        

0x02:通过代码生成数据库文档

import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

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;

public class ScrewMain {

    /**
     * 文档生成
     */
    public static void main(String[] args) {
       //数据源
       HikariConfig hikariConfig = new HikariConfig();
       hikariConfig.setDriverClassName("com.mysql.jdbc.Driver");
       hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/flowable");
       hikariConfig.setUsername("root");
       hikariConfig.setPassword("root");
       //设置可以获取tables remarks信息
       hikariConfig.addDataSourceProperty("useInformationSchema", "true");
       hikariConfig.setMinimumIdle(2);
       hikariConfig.setMaximumPoolSize(5);
       DataSource dataSource = new HikariDataSource(hikariConfig);
       String fileOutputDir = "d:/";
       //生成配置
       EngineConfig engineConfig = EngineConfig.builder()
             //生成文件路径
             .fileOutputDir(fileOutputDir)
             //打开目录
             .openOutputDir(true)
             //文件类型
             .fileType(EngineFileType.HTML)
             //生成模板实现
             .produceType(EngineTemplateType.freemarker).build();

       //忽略表
       List ignoreTableName = new ArrayList<>();
       ignoreTableName.add("act_evt_log");
       //忽略表前缀
       List ignorePrefix = new ArrayList<>();
       ignorePrefix.add("test_");
       //忽略表后缀    
       List ignoreSuffix = new ArrayList<>();
       ignoreSuffix.add("_test");
       ProcessConfig processConfig = ProcessConfig.builder()
             //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置    
             //忽略表名
             .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();
    }

}

0x03:通过maven插件生成数据库设计文档


    
        
            cn.smallbun.screw
            screw-maven-plugin
            1.0.2
            
                
                
                    com.zaxxer
                    HikariCP
                    3.4.5
                
                
              
                    mysql
                    mysql-connector-java
                    5.1.47
                    runtime
                
            
            
                
                root
                
                root
                
                com.mysql.jdbc.Driver
                
                jdbc:mysql://127.0.0.1:3306/flowable
                
                HTML
                
                false
                
                freemarker
                
                测试文档名称
                
                数据库文档生成
                
                1.0.2
                
                数据库文档
            
            
                
                    compile
                    
                        run
                    
                
            
        
    

在使用maven插件生成数据库设计文档时,需要指定maven的编译级别为1.8以上,在pom.xml文件中指定1.8有以下两种方式

  • pom.xml文件中添加以下属性指定
  
          org.apache.maven.plugins
          maven-compiler-plugin
          
                1.8
               1.8
          

  • 为maven-compiler-plugin插件指定默认属性值

        1.8
        1.8
    
    ```
这种方法用在多模块的父pom.xml文件时,比较好用

你可能感兴趣的:(java,java)