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

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

微信:kevinzhang7234   邮箱:zfj321@qq.com   需要源码可以联系我,或者加入以上QQ群

更详细的 讲解过程: http://skycity.today/?thread-34.htm   ,及代码下载。 

原文地址:https://www.cnblogs.com/kevin7234/p/4622808.html