不到一百行代码实现一个Mysql数据库说明文档自动生成程序(mysql 代码自动生成工具)

我们在做软件项目开发中,通常需要设计数据库说明文档,虽说有一些工具能帮我们实现,不过总是感觉太重了,有的时候我们是要边写代码,写查看数据库结构,两个软件来回切换总是那么不习惯。这个问题作为java攻城狮的我们,秉着发扬自己动手丰衣足食的品格,我们就手写一段程序,实现自动为指定的数据库生成说明文档的功能。

首先看一下程序的执行效果:

不到一百行代码实现一个Mysql数据库说明文档自动生成程序(mysql 代码自动生成工具)

上面截图中,我们制作一个jsp程序,因为是jsp程序,这样我们可以通过pc、手机浏览器,只要输入程序网址,就会将指定数据库中所有表及每个表中的字段信息的属性都展示出来。我们公司通常都是每个小伙伴都把这个程序放在自己的web应用里,方便随时查看数据库信息。而且有了它,在设计数据库的时候,一边设计一边说明文档就有了,是不是很方便?):)

下面看一下代码的样子

不到一百行代码实现一个Mysql数据库说明文档自动生成程序(mysql 代码自动生成工具)

jsp程序文件源代码:

<%@page contentType=\”text/html\” pageEncoding=\”UTF-8\”%>

<%@page import=\”java.sql.DriverManager\”%>

<%@page import=\”java.sql.DatabaseMetaData\”%>

<%@page import=\”java.sql.Statement\”%>

<%@page import=\”java.sql.SQLException\”%>

<%@page import=\”java.sql.ResultSetMetaData\”%>

<%@page import=\”java.sql.PreparedStatement\”%>

<%@page import=\”java.sql.ResultSet\”%>

<%@page import=\”java.sql.Connection\”%>

<%@page import=\”java.sql.Types\”%>

<%out.clear();%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv=\”Content-Type\” content=\”text/html; charset=UTF-8\”>

<title>数据库说明文档</title>

<style>

h1{}

h2{font-size:14px; margin: 0; padding: 0; line-height: 32px; font-weight: 100;}

.fields{ width:800px;}

.fields th{ background-color: #46b8da; line-height: 22px; text-align: left; padding:5px;}

.fields td{ background-color: #f5f5f5; width: 25%; line-height: 22px; text-align: left; padding:5px;}

</style>

</head>

<body>

<%

Connection conn = null;

ResultSet rs = null,rs2=null;

Statement stmt=null,stmt2=null;

String dbname=\”totsdk\”;//你的数据库名称

String dbuser=\”root\”;//你的数据库连接用户名

String dbpassword=\”\”;//你的数据库连接密码

try {

conn = DriverManager.getConnection(\”jdbc:mysql://127.0.0.1/\” dbname \”?useUnicode=true&characterEncoding=UTF-8\”,dbuser,dbpassword);

stmt=conn.createStatement();

stmt2=conn.createStatement();

//遍历查询数据库中的表

rs =stmt.executeQuery(\”select table_name,table_comment from information_schema.tables where table_schema = \’\” dbname \”\’\”);

while (rs.next()) {

out.print(\”<h1>表名:\” rs.getString(1) \”</h1>n\”);

out.print(\”<h2>说明:\” rs.getString(2) \”</h2>n\”);

//查询表中的字段

rs2=stmt2.executeQuery(\”show full fields from \” rs.getString(1));

out.print(\”<table class=\”fields\” cellspacing=\”1\” cellpadding=\”0\”>\”);

out.print(\”<tr>\”);

out.print(\”<th>名称</th>\”);

out.print(\”<th>类型</th>\”);

out.print(\”<th>默认值</th>\”);

out.print(\”<th>备注</th>\”);

out.print(\”</tr>\”);

while(rs2.next()){

out.print(\”<tr>\”);

out.print(\”<td>\” rs2.getString(1) \”</td>\”);

out.print(\”<td>\” rs2.getString(2) \”</td>\”);

out.print(\”<td>\” rs2.getString(6) \”</td>\”);

out.print(\”<td>\” rs2.getString(9) \”</td>\”);

out.print(\”</tr>\”);

}

out.print(\”</table>\”);

}

} catch (SQLException e) {

} finally {

try {

rs.close();

rs2.close();

stmt.close();

stmt2.close();

conn.close();

} catch (Exception e) {

}

}

%>

</body>

</html>

代码第30行dbname变量即是要查看的数据库名称信息。其实我们也可以把这个变量设计为获取url参数来的值 ,比如

String dbname=request.getParameter(\”dbname\”);

这样,这个程序就可以支持多个数据库结构信息的查看了,方法就是我们在浏览器中访问的地址换成以下:

不到一百行代码实现一个Mysql数据库说明文档自动生成程序(mysql 代码自动生成工具)

好了,代码比较简单,短短几十行代码搞定数据库文档。但需要注意的是因为这里采用的mysql的内置的表和sql语句获取表和字段的信息,因此对于其它类型的数据库是不起作用的。如果想要做一个兼容所有数据库的程序,可以参考一下淘特jspcms,那里面有个在线数据库管理是可以兼容所有数据库,有兴趣的朋友可以去研究一下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年12月29日 上午8:44
下一篇 2023年12月29日 上午8:56

相关推荐

  • 轨道交通科研项目图片

    轨道交通科研项目图片 随着城市化进程的不断加速,轨道交通已经成为了人们出行的重要方式之一。而在这个项目中,我们致力于研究如何提升轨道交通的性能和安全性。 从图片中我们可以看到,研究…

    科研百科 3天前
    1
  • 科研类项目特点

    科研类项目的特点 科研类项目是一种特殊的项目,旨在通过实验和研究来探究自然现象的本质和规律。这些项目涉及到许多不同的学科领域,包括自然科学、社会科学和工程技术等。 科研类项目的特点…

    科研百科 2024年11月19日
    2
  • it风险管理系统项目研究目标

    IT风险管理系统项目研究目标 随着信息技术的不断发展,企业IT系统的应用范围越来越广泛,IT风险也逐渐成为企业风险管理中的重要组成部分。因此,开发一个有效的IT风险管理系统已成为企…

    科研百科 2025年1月14日
    0
  • 没有这6本书,你很难学会项目管理(没有这6本书,你很难学会项目管理英语)

    项目管理是一项平衡的艺术,是通过合理地组织,利用一切可以利用的资源,按照计划的成本和进度,完成计划的目标的过程。 企业要想在项目管理道路上走得更远,除了掌握项目管理的核心理论方法之…

    科研百科 2023年8月9日
    193
  • 开封示范区城管局:党建引领多措并举 破解静态停车难题

    映象网讯(大象新闻记者 崔学庆 通讯员 王丛虎)今年以来,为全面改善全区静态交通环境秩序,开封市示范区城管局以城市管理“三化”建设工作为抓手,坚持党建引领,持续开展静态停车专项整治…

    科研百科 2023年10月15日
    175
  • 科研项目管理平台(科研项目管理软件)

    科研项目管理软件科研项目管理软件(大学)由国家食品行业协会开发的高职高专院校的数据显示,2018年中国增设食品工业专科学校,列入全国本科专业备案。学科类高校:高职(专科)(一)信息…

    科研百科 2024年9月28日
    25
  • 科研项目付款比例怎么算

    科研项目付款比例怎么算 科研项目的付款比例是项目管理中的一个重要问题。正确的付款比例可以帮助项目团队更好地管理资金,避免资金短缺和过度花费,同时保证项目按时完成。本文将介绍科研项目…

    科研百科 2025年2月2日
    0
  • 科研项目团队介绍ppt

    科研项目团队介绍ppt 随着科技的不断发展,科研项目团队已经成为科学研究的重要组成部分。一个高效的科研项目团队不仅可以提高研究质量和效率,还可以为科学研究带来更大的成果。下面,我们…

    科研百科 2025年3月3日
    0
  • 风采 – 江西达途数字技术有限公司(北京达途数据科技有限公司)

    江西达途数字技术有限公司是一家以信息系统集成服务、应用软件开发、互联网公共服务平台、信息处理和存储支持服务、运行维护服务等为主的信息技术化公司,致力于打造成为信息化建设及数字化转型…

    科研百科 2023年5月6日
    845
  • 项目学术思想

    项目学术思想 随着科技的不断进步,我们越来越依赖计算机和互联网来获取信息。在这个过程中,我们逐渐发现,互联网上的信息并不是完全可靠的。因此,我们提出了一项研究计划,旨在通过建立一种…

    科研百科 2024年10月2日
    23