数据库表结构文档自动生成工具

1.需求描述:

软件开发完成后,交付客户给客户使用前通常需要数据库设计文档,很多程序员甚至项目经理自然会想到采用人海战术,一个项目组的成员,分模块来写,然后合并。作为程序员来说,这种方法是在是太low了。那么能否有自动化工具呢,当然有,用度娘搜索“数据库文档生成器”会出来很多个,他们的质量也会参差不齐,要么格式不满足公司文档格式需要。所以该问题的终极解决方案是理解数据库文档生成器的原理,然后自己动手实现一个,听起来是不是很难,其实现起来难度并不大,无图无真相,先上图。

2.技术点解析:

上面生成的效果图是不是很酷,现在我们就在一步一步解析是怎么生成的。


所需工具


作用


Microsot office


用于生成word文档模板


开发语言


java


Freemarker


Java 模板语言


jdbc


利用jdbc获取表的定义

这个问题可以拆分为:

  1. Word 文档模板:普通的doc、docx都是二进制文件,操作起来比较麻烦,那么我们可以采用变通的方式,用word 的xml格式。

另存一个看看,xml格式的doc长啥样:

天书一样的xml,是不是是不是很崩溃,其实你没必要完全看懂,看懂结构,找出你关心的部分即可,如果不会可以来回多试几次。

  1. 表结构元数据:

写java的同学,应该知道这是什么了,可能你没用过,但他就是存在。

  1. 将模板和元数据合并生成我们需要的文档。

从模板xml中找出需要循环的部分,加上foreach标签:

OK,现在数据有了,模板有了,问题就解决了。

3.代码实现:

1.获取表结构列表:

2.根据模板生成doc文件

4.后记:

利用模板+数据的思路,可以生产任何格式复杂格式的文档,如生成“***报告单.doc”等,并且可以降低开发难度,提高开发速度。

Java开发、互联网架构讨论QQ群: 297702426

邮箱:[email protected]

时间: 2024-11-05 01:34:53

数据库表结构文档自动生成工具的相关文章

【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档

对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL(MySQL数据库表结构导出器). 介绍: DBExportDoc V1.0 For MySQL是一款利用office特性VBA开发的小工具,利用此工具可以将本机MySQL上任意数据库.任意表的数据结构导出.但是它不是一款你安装是一路next到finish就可以立刻使用的. 要注意的有两点: 首先,你

接口文档自动生成工具apidoc

前后端分离之后,接口文档是前后端沟通的必要手段.然后接口文档包含大量的重复性工作,费时费力,像apidoc这样工具就十分必要了. 官方文档:http://apidocjs.com/ -------------------------------------------------------------------------------------------------- 首先说一下自己遇到的坑: 1.安装,node.js版本要高(在官网下最新的就行),不然后面有的模块会出问题,导致apid

Word 2010文档自动生成目录和更新目录的方法

一.Word 2010文档自动生成目录 关于Word文档自动生成目录一直是我身边同学们最为难的地方,尤其是毕业论文,经常因为目录问题,被要求修改,而且每次修改完正文后,目录的内容和页码可能都会发生变化,因此需要重新调整.那么有没有简单的办法让Word文档自动生成目录和自动更新目录呢?现在大部分人使用的Office 2010,之前的自动生成目录的方法又不太适用了.所以本文就以Word 2010为例进行自动生成目录和更新目录的操作设置方法. 先说一下如果要使用自动生成目录功能,需要对文章中对应的标题

Word文档自动生成目录方法,一看就会!还会自动更新

无论是写论文还是工作中,有时候需要设置Word文档的目录,但是那么多页的文档,一个一个手动去添加太麻烦了,究竟有什么好办法可以让Word文档自动生成目录呢?相信大家都想知道,那今天就让小编给大家讲讲Word文档自动生成目录的方法吧,绝对简单,保证大家看完就会! 1.先设置好文章的标题样式 首先,需要把文章的标题样式设置好,选择需要作为目录的文本内容,右键点击[段落]--大纲级别选择[1级]:它之后的小标题则依次设为[二级].[三级]-2.新建一张空白页,留作目录页 标题样式设置后,就可以按住快捷

修改表结构后,自动生成(mybatis-generator)时遇到的坑

我们的项目是springboot搭起来的,按照接口API -> Service -> Common(Manager.Mapper.dao)这种Maven的依赖结构,所以自动生成的mybatis-generator.xml也就从common包里找.现在问题的场景是项目此前已经按照数据表自动生成了mapper内容,现在由于bug或者业务调整要改变表结构,就要注意以下几个坑: 1.要找到common文件夹下的generator.xml文件释放相应表的<table  >注释,再点击Plug

sqlserver生成表结构文档的方法

只说原理了,具体 可以自己使用程序去生成htm或word文档. 1.首先获取所有的表 SELECT name, id From sysobjects WHERE xtype = 'u' ORDER BY name ASC 2.根据表名查询字段信息 select syscolumns.name, syscolumns.length, systypes.name   as   typename, sys.extended_properties.[value] AS tname,syscolumns.

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然

API文档自动生成,Swagger的配置

第一步:引用程序集 打开NuGet程序包管理器,搜索Swagger,安装第一个,注意画圈的地方, 已经包含主程序和UI了,安装完成后会在根目录App_Start文件夹下生成SwaggerConfig.cs. 第二步:配置信息 按照如下配置即可,注意命名空间. 1 using System.Web.Http; 2 using WebActivatorEx; 3 using Demo.API; 4 using Swashbuckle.Application; 5 using Swashbuckle.

word文档自动生成方法

创建word文档需要几个接口类,常用application,document,documents,selection等.但word的功能复杂,要认识到每一个类的功能是不可能的.常用的方法是在word的调用宏的录制功能.通过录制的VB代码可以近似找到 相应的C++类 在调用word的接口程序时需使用MSWORD.OLB,其路径位置是C:\Program Files (x86)\Microsoft Office\Office12 在调用类向导后应用"类型库中的MFC类"选项 所有导入的wo