java快速生成数据库文档详情

目录
  • 前言
  • 环境准备
    • 1、导入pom依赖
    • 2、数据库连接工具类
    • 3、生成数据库文档核心方法

前言

在产品发布前夕,经常因为编写各类设计文档感到心碎,倒不是难,而是比较繁琐,举例来说,像编写数据库文档这种操作来说,对于新手,甚至很多有一定开发经验的同学来说,都觉得是一件费力得事情,下面推荐一个小组件,并提供一段程序,帮助有需要得同学快速生成数据库文档,已解决这个麻烦得小事

环境准备

一个开发数据库,以下截取了部分表,实际中可能远不止这些

1、导入pom依赖

		<!-- screw核心 -->
        <dependency>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-core</artifactId>
            <version>1.0.3</version>
        </dependency>

        <!-- 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.11</version>
        </dependency>

2、数据库连接工具类

public class JdbcUtils {
    public static String DRIVER_NAME = "com.mysql.jdbc.Driver";
    public static String JDBC_URL = "jdbc:mysql://IP:3306/tenant";
    public static String USER_NAME = "zhangcy";
    public static String PASSWORD = "zhangcy";
    public static DataSource getDataSourceFonfig() {
        //数据源
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName(DRIVER_NAME);
        hikariConfig.setJdbcUrl(JDBC_URL);
        hikariConfig.setUsername(USER_NAME);
        hikariConfig.setPassword(PASSWORD);
        //设置可以获取tables remarks信息
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        return new HikariDataSource(hikariConfig);
    }
    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName(DRIVER_NAME).newInstance();
            conn = java.sql.DriverManager.getConnection(JDBC_URL, USER_NAME, PASSWORD);
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
    /**
     * 获取某个数据库下的所有表
     *
     * @return
     */
    public static List<String> getTablesNames() {
        List<String> tables = new ArrayList<>();
        Connection connection = getConnection();
        ResultSet rs = null;
        Statement st = null;
        try {
            st = connection.createStatement();
            rs = st.executeQuery("show tables");
            while (rs.next()) {
                String string = rs.getString(1);
                tables.add(string);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                st.close();
                connection.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return tables;
    }
}

3、生成数据库文档核心方法

public class GenerateDoc {
    /**
     * 生成的文档本地路径
     */
    public static final String LOCAL_PATH= "D:\\soft\\table";
    public static void main(String[] args) {
        DataSource dataSource = JdbcUtils.getDataSourceFonfig();
        EngineConfig engineConfig = EngineConfig.builder()
                //导出文件地址
                .fileOutputDir(LOCAL_PATH)
                //是否打开文件夹
                .openOutputDir(true)
                //文件类型:html、doc、mockdown
                .fileType(EngineFileType.WORD)
                //模板引擎
                .produceType(EngineTemplateType.freemarker).build();
        ProcessConfig processConfig = ProcessConfig.builder()
                //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
                //根据名称指定表生成
                .designatedTableName(JdbcUtils.getTablesNames())
                //根据表前缀生成
                .designatedTablePrefix(new ArrayList<>())
                //根据表后缀生成
                .designatedTableSuffix(new ArrayList<>()).build();

        //设置生成pojo相关配置
        Configuration config = Configuration.builder()
                .version("1.0.0")
                .description("数据库设计文档")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(processConfig).build();
        new DocumentationExecute(config).execute();
    }
}

本段方法中有大量得注释,解释如何生成数据库文档的步骤,以及各个配置参数的作用,拿到程序之后,只需运行main方法即可,注意,可以根据自己的需要,选择生成那种展示形式的文档,比如是本地的doc,或者markdown,或html都是可选的

本段以doc为例,运行main方法,观察结果:

打开数据库文档,基本来说,我们只需简单调整下整体的格式即可使用了

不妨再换一下,生成HTML格式的文件看看,修改下程序中的参数

观察结果:

通过这种方式,可以让大家在编写数据库文档时候节省不少体力吧

到此这篇关于java快速生成数据库文档详情的文章就介绍到这了,更多相关java生成数据库文档内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 手把手教你使用Java实现在线生成pdf文档

    目录 一.介绍 二.案例实现 2.1添加iText依赖包 2.2简单实现 2.3复杂实现 2.4变量替换方式 三.总结 一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查看.打印或者下载. 例如下图的电子发票! 熟悉这块业务的童鞋,一定特别清楚,目前最常用的解决方案是:把相关的数据信息,通过一些技术手段生成对应的 PDF 文件,然后返回给用户,以便

  • java如何实现自动生成数据库设计文档

    目录 前言 实现步骤 main方法类全部代码 表qrtz_blob_triggers 表qrtz_calendars 表qrtz_cron_triggers 前言 以前我们还需要手写数据库设计文档.现在可以通过引入screw核心包来实现Java 数据库文档一键生成.话不多说.直接上代码演示. 支持的数据库列表: MySQL MariaDB TIDB Oracle SqlServer PostgreSQL 这些主流的数据库都支持的. 实现步骤 引入 pom.xml核心配置screw包 <depen

  • Java 生成PDF文档的示例代码

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间查找了相关的资料.整理之后,发现有几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XML.Html文件转化为PDF文件: Apache PDFBox,生成.合并PDF文档: docx4j,生成docx文档,支持转换为PDF格式. 2. 实现方案 比较了一番后,采用了FreeMarker+docx4j+Apache PDFBox的方案: maven依赖 <!-- pdfbox --> &

  • 教你怎么用java一键自动生成数据库文档

    这是该工具的github地址:https://github.com/pingfangushi/screw 一.引入pom.xml依赖 <dependencies> <!-- screw 库,简洁好用的数据库表结构文档生成器 --> <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version

  • 详解Java生成PDF文档方法

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XML.Html文件转化为PDF文件: Apache PDFBox,生成.合并PDF文档: docx4j,生成docx.pptx.xlsx文档,支持转换为PDF格式. 比较: iText开源协议为AGPL,而其他两个框架协议均为Apache License v2.0. 使用PDFBox生成PDF就像画图

  • 最简单的java生成word文档方法

    1.首先新建一个word文档,然后设计好格式,比如说我的标题是黑体二号,居中对其,正文是宋体四号,如下 2.另存为xml格式(文件->另存为)的文件,如下图 3.使用txt打开保存的xml文件,复制完,贴到你的代码里,如图 4.替换内容,Ctrl+F搜索标题(第一步我输入的),把标题换成你要显示的动态标题,把 正文替换成你想要的动态内容,如下 5.设置相应头生成doc文件 6.测试:在浏览器输入http:127.0.0.1:8080/createDoc,结果如下: 7.分享代码 (1)以下是生成

  • java快速生成接口文档的三种解决方案

    目录 前言 方案一,使用japidocs 基本用法 方案2,swagger + knife4j 生成步骤 方案3,开源的接口文档生成工具 总结 前言 常常在项目收尾阶段,客户需要项目的接口文档,或者是一个大的sass平台,各个产品之间互相调用的时候,需要对方提供接口文档 通常来说,接口文档属于产品的技术沉淀,是一个长期积累的过程,然而,很多时候,开发阶段并不会想的那么多,结果到了需要接口文档的时候总是疲于应付,情急之下,往往采用最笨拙的办法,就是对照着项目代码,一个个拷贝吧 下面针对这个情况,小

  • java快速生成数据库文档详情

    目录 前言 环境准备 1.导入pom依赖 2.数据库连接工具类 3.生成数据库文档核心方法 前言 在产品发布前夕,经常因为编写各类设计文档感到心碎,倒不是难,而是比较繁琐,举例来说,像编写数据库文档这种操作来说,对于新手,甚至很多有一定开发经验的同学来说,都觉得是一件费力得事情,下面推荐一个小组件,并提供一段程序,帮助有需要得同学快速生成数据库文档,已解决这个麻烦得小事 环境准备 一个开发数据库,以下截取了部分表,实际中可能远不止这些 1.导入pom依赖 <!-- screw核心 --> &l

  • 使用apidocJs快速生成在线文档的实例讲解

    apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用者仅需要按照要求书写相关注释,就可以生成可读性好.界面美观的在线接口文档. 本文主要包含以下内容: 1.介绍apidoc的基本概念 2.安装.使用和简单配置 3.一些特殊参数的含义及其使用 4.介绍一些使用经验 前言 apidoc能做什么? apidoc是一个轻量级的在线REST接口文档生成系统,可以根据其特定的规则的代码注释来生成静态网页.首先看下它生成的文档界

  • 教你怎么用IDEA快速生成注释文档

    IDEA提供了快捷方式来生成指定的代码.首先我们要编写好代码的模板. 打开IDEA的settings-Editor-Live Templates.点击右边的+号.选择Template Group. 这里我用的Java作为Template Group名,然后在选中刚刚创建的Template Group,再点击右边的+号,这次选Live Template. 然后就进入了live template的设置界面.首先我们要先设置我们这个模板是为java文件准备的.看到底下的这个文字,点击这个Define.

  • SpringBoot整合screw实现数据库文档自动生成的示例代码

    有时候数据库文档需要整理,可是只能手动的复制粘贴,心中一万只草泥马奔腾而过... screw 简洁好用的数据库表结构文档生成工具. 1. 创建项目 1.1 pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>

  • java中利用Dom4j解析和生成XML文档

    一.前言 dom4j是一套非常优秀的Java开源api,主要用于读写xml文档,具有性能优异.功能强大.和非常方便使用的特点.   另外xml经常用于数据交换的载体,像调用webservice传递的参数,以及数据做同步操作等等,   所以使用dom4j解析xml是非常有必要的. 二.准备条件 dom4j.jar 下载地址:http://sourceforge.net/projects/dom4j/ 三.使用Dom4j实战 1.解析xml文档 实现思路: <1>根据读取的xml路径,传递给SAX

  • 利用Java Apache POI 生成Word文档示例代码

    最近公司做的项目需要实现导出Word文档的功能,网上关于POI生成Word文档的例子很少,找了半天才在官网里找到个Demo,有了Demo一切就好办了. /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See

  • java使用Jsoup组件生成word文档

    先利用jsoup将得到的html代码"标准化"(Jsoup.parse(String html))方法,然后利用FileWiter将此html内容写到本地的template.doc文件中,此时如果文章中包含图片的话,template.doc就会依赖你的本地图片文件路径,如果你将图片更改一个名称或者将路径更改,再打开这个template.doc,图片就会显示不出来(出现一个叉叉).为了解决此问题,利用jsoup组件循环遍历html文档的内容,将img元素替换成${image_自增值}的标

随机推荐