使用screw自动生成数据库文档

screw是一款简洁好用的数据库表结构文档生成器

下面展示如何运行代码自动生成数据库表结构文档

1.引入依赖

<!-- screw核心 -->
<dependency>
    <groupId>cn.smallbun.screw</groupId>
    <artifactId>screw-core</artifactId>
    <version>1.0.5</version>
</dependency>
<!-- HikariCP -->
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>3.4.5</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
    <scope>runtime</scope>
</dependency>


 

2.生成数据库设计文档主类
BuildDataBaseDoc.java

package com.sgsg.device.utils;

import java.util.ArrayList;

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 BuildDataBaseDoc {
    /**
     * 文档生成
     */
    public static void main(String[] args) {
       //数据源
       HikariConfig hikariConfig = new HikariConfig();
       hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
       //String jdbcUrl = "jdbc:mysql://192.168.0.208:3306/xxx"
       //        + "?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&createDatabaseIfNotExist=true";
       hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/znmkcs1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC");
       //hikariConfig.setJdbcUrl(jdbcUrl);
       hikariConfig.setUsername("root");
       hikariConfig.setPassword("xxxxxx");
       //设置可以获取tables remarks信息
       hikariConfig.addDataSourceProperty("useInformationSchema", "true");
       hikariConfig.setMinimumIdle(2);
       hikariConfig.setMaximumPoolSize(5);
       DataSource dataSource = new HikariDataSource(hikariConfig);
       String fileOutputDir = "d:/software";
       //生成配置
       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<String>())
             //根据表前缀生成
             .designatedTablePrefix(new ArrayList<String>())
             //根据表后缀生成 
             .designatedTableSuffix(new ArrayList<String>())
             //忽略表名
             .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();
    }
}

3.运行生成文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
博客地址:http://blog.csdn.net/vipbooks 一直以来根据数据库表结构自动生成项目框架代码都是一件让人很头痛的事情,如果能自动生成框架的结构性代码,那么项目组成员的开发效率能迅速提高60%以上,开发人员就只要关注业务代码的编写了。 TableGo可以根据数据库表结构自动生成JavaBean、MyBaits的Mapper映射配置文件、数据库设计文档,更重要的是可以根据每个项目的不同开发框架编写自定义模板生成各模块的结构性代码,让开发人员的开发效率提高60%以上,并且可以通过模板定义好开发规范统一开发风格和标准,提高代码的规范性和可维护性。 只要设计数据库并且添加好备注,就能通过自定义模板生成任意编程语言的程序代码,并且能够生成各种代码备注。实现只要把数据数据库设计好,整个项目就完成了很大一部分代码的编写,大大节省了项目的开发成本。支持MySQL、Oracle、SQL Servce、PostgreSQL四种数据库,支持Window、Linux、MacBook等多种操作系统。 TableGo v5.8.8版震撼发布,此次版本更新如下: 1、新增两个扩展字段,用于生成自定义模板时使用。 2、自定义模板新增模板目录,可以选择不同分类目录下的模板。 3、自定义模板生成加强,可以根据参数自动生成文件名和扩展名。 4、自定义模板新增和调整了多个参数,使模板编写更加方便快捷。 5、Entity主键生成策略新增identity和sequence。 6、开放自定义作者的配置。 7、修复一些Bug并进行了一些优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LemonSmile_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值