自动生成数据库表结构设计word文档的基本思路和实现

写作目的

提供一个小程序,使用它可以快速生成比较标准的数据库表设计Word文档,拿来即可用;大家也可以在此基本上修改,以满足各自的需求。

基本思路

  • 可以通过sql获取数据库所有表的名称
SELECT TABLE_NAME AS name, TABLE_COMMENT AS comment  FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = #{database};
  • 可以通过sql获取表的结构数据
SHOW FULL COLUMNS FROM ${tableName};
  • 通过freemarker模板将表结构数据生成word文档
  • 支持三种模式:导出全部,导出配置的表,导出除配置外的其他表

基本流程

  1. 新建数据表word模板文件,如:templates/tables.docx;
  2. tables.docx文件重命名为2003版的xml文件tables.xml;
  3. 用notepad++打开tables.xml,点击 插件 -> XMl tools-> Pretty print(libXML),格式化xml文件 ;
  4. 获取数据所有表和表的结构数据,进行数据组装
  5. 变量替换,“用户表” -> ${table.name} 等,并重命名成table.ftl文件;
  6. 执行程序,生成数据库表设计word文档 ;
  7. github源码地址

使用指南

  1. 根据需要修改系统application.yml配置,表导出配置和数据库连接配置;
  2. 执行com/ocean/angel/tool/ApplicationTests.java的generateTableStructure() 方法;
  3. 到/resources/words目录下,查看生成的数据库表设计word文档。

本文使用的freemarker语句:

  • 遍历表名称
<#list tables as table>
    ${table.name}
</#list>
  • 遍历表结构数据
<#list table.structure as item>
    ${item.code}
    ${item.field}
    ${item.type}
    ${item.isNull}
    ${item.comment}
</#list>

注意:freemarker模板不能传null, 如果数据为null,可以转换成空字符串。

生成的数据库表结构设计Word文档截图

在这里插入图片描述

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值