springboot+freemarker实现生成数据库设计Word文档

本文介绍了如何使用SpringBoot结合Freemarker模板引擎,从数据库中获取表信息,并填充到自定义的Word文档模板中,实现自动化生成数据库设计Word文档。这种方法允许高度自定义样式,适合处理大量表格的场景。详细代码可在GitHub的mindoc项目中获取。
摘要由CSDN通过智能技术生成

      以前在项目完成后都会按照要求写数据库设计文档,表少的时候还无所谓,当有上百张表的时候就不好写了。当然也有一些自动化软件可以帮我们实现这个功能,但是自定义的程度比较低。所以今天自己来实现这个功能,可以按照自己的喜好定义样式和模板,是不是很酷。

首先新建一个Word文档

 然后另存为xml格式,用NotePad打开。

在xml中使用freemarker的标签将数据填充。不会freemarker的可以先自己研究一下。

<w:body>
    <wx:sect>
        //循环遍历所有table
	<#list tables as table>
      <w:p wsp:rsidR="0017374B" wsp:rsidRPr="00481323" wsp:rsidRDefault="00AD2DC7">
        <w:pPr>
          <w:rPr>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
        </w:pPr>
        <w:r wsp:rsidRPr="00481323">
          <w:rPr>
            <wx:font wx:val="宋体"/>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>表名</w:t>
        </w:r>
        <w:r wsp:rsidRPr="00481323">
          <w:rPr>
            <w:rFonts w:hint="fareast"/>
            <wx:font wx:val="宋体"/>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>:</w:t>
        </w:r>
        <w:r wsp:rsidRPr="00481323">
          <w:rPr>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>${table.tableName}    </w:t>
        </w:r>
        <w:r wsp:rsidRPr="00481323">
          <w:rPr>
            <wx:font wx:val="宋体"/>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>注释</w:t>
        </w:r>
        <w:r wsp:rsidRPr="00481323">
          <w:rPr>
            <w:rFonts w:hint="fareast"/>
            <wx:font wx:val="宋体"/>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>:</w:t>
        </w:r>
        <w:r wsp:rsidR="005A39AB">
          <w:rPr>
            <w:b/>
            <w:sz w:val="18"/>
            <w:sz-cs w:val="18"/>
          </w:rPr>
          <w:t>${table.tableComment} </w:t>
        </w:r>
      </w:p>
      <w:tbl>
        <w:tblPr>
          <w:tblW w:w="0" w:type="auto"/>
          <w:tblBorders>
            <w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
            <w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
            <w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
            <w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
            <w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
            <w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值