java生成数据库设计说明书(excel)

本文介绍了如何使用Java连接数据库并生成数据库设计说明书。通过jdbc连接数据库获取元数据,利用Template渲染模板并写入文件。过程中提到了遇到的坑,如处理DatabaseMetaData的字段和FTL模板制作,并给出了模板渲染的注意事项。
摘要由CSDN通过智能技术生成

每次写一个新的东西都有一种很神奇的感觉。写之前感觉好难好难,这是个什么玩意,看不懂。刚开始写感觉千辛万苦,写到中间感觉逐渐熟悉,写到最后感觉游刃有余。写完感觉不过如此,我写了个好菜的东西呀。
至于东西到底菜不菜,如果远观,看起来还行。
好啦,没有刷题的这两天写了个java生成数据库设计说明书的。
是根据我们公司要求设计的,但是大家大同小异,还是有许多借鉴之处的。请看下文

因为我是在之前同事生成其他文件的基础上加的,所以这里介绍一下思路😁

一,你要先用用jdbc工厂类连接数据库,得到对象connection。
二,用DatabaseMetaData d = connection.getMetaData()获取到数据库的相关信息。
三,用d.getTables可以获取表信息,用d.getColumns可以获取表字段信息
四,用Template的getTemplate去匹配模板,对象为template
五,设置写入流StringWriter,然后用template.process(填充信息,写入流)去渲染模板
六,写入文件

这里存在几个坑:😥

首先是DatabaseMetaData里面有许多字段

可以参考这个,获取索引的话是getIndexOf(我的不知道为啥会多获取一个空索引,我每次都把他删了),获取主键:getPrimaryKey
然后是ftl模板的制作
1 找一个excel模板,然后excel模板保存为xml电子表格。
2 这个xml里的内容ftl内。
3 然后将要渲染的内容,填充到ftl内。
4 既然是excel,那我们渲染的一般是列表。
这里有三个点注意,首先是列表的格式

<#list indexOfs as indexOf>
   <Row>
        <cell><Data ss:Type="String">${indexOf.indexName}</Data></cell>
   </Row>
</#list>

这段代码是写在你要渲染的那个表格里面的,如果有ss:Type和你渲染的数据不符会报错,如果渲染的数据为null可能会报错😥
三目运算符的话,可以参考这个:${(indexOf.nonUnique)?string(‘N’,‘Y’)}

还有文件要保存为xls格式的,文件打开的时候会报错,但不影响使用,手动转为其他格式就不报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨_浅-

你的一毛/分钱是我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值