龙空技术网

Screw - 简洁好用的数据库表结构文档生成工具

每日开源代码 6413

前言:

今天你们对“html代码数据库”大体比较关怀,各位老铁们都想要剖析一些“html代码数据库”的相关内容。那么小编也在网络上收集了一些有关“html代码数据库””的相关内容,希望同学们能喜欢,兄弟们快快来了解一下吧!

在代码开发过程中,文档的维护总是一件令人头疼的事。其中,数据库表结构的文档,既十分重要,维护起来又十分繁琐。往往是开发或运维人员,在完成表设计,或表变更后手动维护文档。一旦更新不及时,会对后续的工作带来很大的困扰。

Screw,这个支持多个主流数据库、多种文档格式的工具,或许能帮助你摆脱重复的工作。

简介

Screw,是 leshalv 在Gitee上开源的数据库表结构文档生成工具,仓库位于 。

Screw 简洁、轻量、设计良好,提供多数据库支持,多种格式文档,灵活扩展,支持自定义模板。

使用

Screw功能丰富,

简洁、轻量、设计良好。不需要 powerdesigner 这种重量的建模工具多数据库支持 。支持市面常见的数据库类型 MySQL、Oracle、SqlServer多种格式文档。支持 MD、HTML、WORD 格式灵活扩展。支持用户自定义模板和展示样式

Screw目前支持的数据库包括:

MySQLMariaDBTIDBOracleSqlServerPostgreSQLCache DB(2016)

Screw支持生成HTML、Word和Markdown格式的数据库文档。

HTML文档

Word文档

Markdown文档

使用Screw,可以直接引入依赖:

<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();}

配置丰富,包括:数据源,生成文件信息,忽略的表,版本信息等。

也可以直接通过Maven插件的形式完成配置:

<build>    <plugins>        <plugin>            <groupId>cn.smallbun.screw</groupId>            <artifactId>screw-maven-plugin</artifactId>            <version>${lastVersion}</version>            <dependencies>                <!-- HikariCP -->                <dependency>                    <groupId>com.zaxxer</groupId>                    <artifactId>HikariCP</artifactId>                    <version>3.4.5</version>                </dependency>                <!--mysql driver-->                <dependency>                    <groupId>mysql</groupId>                    <artifactId>mysql-connector-java</artifactId>                    <version>8.0.20</version>                </dependency>            </dependencies>            <configuration>                <!--username-->                <username>root</username>                <!--password-->                <password>password</password>                <!--driver-->                <driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>                <!--jdbc url-->                <jdbcUrl>jdbc:mysql://127.0.0.1:3306/xxxx</jdbcUrl>                <!--生成文件类型-->                <fileType>HTML</fileType>                <!--打开文件输出目录-->                <openOutputDir>false</openOutputDir>                <!--生成模板-->                <produceType>freemarker</produceType>                <!--文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称-->                <fileName>测试文档名称</fileName>                <!--描述-->                <description>数据库文档生成</description>                <!--版本-->                <version>${project.version}</version>                <!--标题-->                <title>数据库文档</title>            </configuration>            <executions>                <execution>                    <phase>compile</phase>                    <goals>                        <goal>run</goal>                    </goals>                </execution>            </executions>        </plugin>    </plugins></build>

总结

Screw作为一个数据库表结构文档生成工具,简洁、轻量、设计良好,提供多数据库支持,多种格式文档,灵活扩展,支持自定义模板,是优秀的开发助力工具。

标签: #html代码数据库