网站首页 > java教程 正文
所谓金三银四,跳槽季,公司来了很多应聘者,我也面试了几位,最终成功拿到offer的有3个,这周也都正式入职了。
但是问题马上来了,我们公司是传统转型软件的创业型公司,处于初期发展阶段,很多方面都不规范,比如说业务方面的培训文档,还有技术方面的设计文档、需求文档,也没有ER图、数据字典等等开发过程文档。
基本业务可能会熟悉的比较快,但是具体到开发上的话会很困难,很多的业务逻辑细节,包括很多简单的问题(如数据表中状态值的含义)不得不向老员工请教,这就是因为相关的开发文档缺失,包括比较重要的E-R图和数据字典。
于是,我就研究学习如何快速整理出某个项目的数据字典和E-R图(实体-联系图),一来方便自己,二来方便以后的新同事。
实现方法其实很简单,
数据字典,需要针对不同的数据库整理SQL脚本,查询出整个数库所有表结构信息,包括字段、类型、注释等,再利用数据库开发管理工具执行SQL查询,导出到Excel后,稍微调整格式即可。
E-R图的直接通过数据库开发管理工具逆向工程功能即可快速生成。
将要使用的是Navicat Premium这款数据库管理工具,连接数据库后你可以从中看到各种数据库的详细信息,包括表、视图等等,可以进行各种数据库管理操作。Navicat Premium是一个可多重连线资料库的管理工具,它可以同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 数据库,不过目前还是用来连接MySQL最常用。
数据字典快速导出
MySQL 具体生成数据字典的SQL脚本如下:
其他数据库可以根据不同SQL语法参照着进行修改,复杂程度不一。
用工具连接到库,使用information_schema库,新建查询,执行如上SQL脚本,可查出数据字典,具体如图
然后就可以将数据字典导出了,
操作步骤,点击导出结果:
选择需要的导出格式:
选择具体输出文件位置并命名:
出现以下导出成功提示:
成功导出的Excel文件就是我们需要的数据字典,可以根据开发需要进行表的分类整理,二次编辑。
E-R图快速导出
E-R图导出,利用这个工具非常便捷,这里以mysql自带实例库进行演示。
右键数据库名称——>逆向数据库到模型
E-R模型如图(这里表结构比较简单,没有形成关联)
然后,你可以方便的将模型保存为图片。
小结
以上利用工具很方便的完成了E-R图和数据库字典的生成,实际开发过程中可能经常有表结构变动的情况,每次重新导出一遍也有些不便,为了应对这种情况,你可以写一个Java小程序,利用JDBC连接到数据库,根据需要将这些信息生成HTML网页或者带有格式的Excel、Word等。打成一个有Main入口的可执行Jar包,每次只需要在配置文件中配置数据库连接信息,就可以利用java命令生成文档,那就会更方便了。
猜你喜欢
- 2024-11-05 POI操作word模板并生成新的word(poi生成word文档)
- 2024-11-05 人工智能文档编写器:使用AI生成Javadocs等文档的插件扩展
- 2024-11-05 Java 操作 Office:POI之word图片处理
- 2024-11-05 在JSP页面中直接以WORD格式或者将页面下载成WORD格式文件
- 2024-11-05 springboot-如何集成screw生成数据库文档
- 2024-11-05 借助Spire.Doc控件,在Java中将 Word 转换为图像
- 2024-11-05 SpringBoot + Screw 一键生成数据库文档
- 2024-11-05 Spire.PDF for Java 8.7.0 增强了 PDF 到 Word 和 Excel 的转换
- 2024-11-05 如此简单!Aspose.Words助力以Java编程方式创建丰富的Word文档
- 2024-11-05 GitHub精选 | 告别手写,一键生成数据库表文档
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)