Java导出Markdown格式的数据字典

前一阵子老板让我写个把项目的数据库字典导出来,但是不要word格式,就要markdown格式的。我第一反应是直接用数据库工具导出word在转成markdown不就行了吗,但是呢数据库更新了不是又要重新导出和转换,直接导出markdown不香吗?

如何使用

1.首先将项目clone到本地

git clone https://gitee.com/ssymon/export-to-md.git

2.使用Idea打开项目

File->Open,打开之后项目结构如下

3.修改配置文件

打开application.yml配置文件,修改成自己需要导出的数据库信息

db:

driver: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/test?useSSL=true&verifyServerCertificate=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true

username: root

password: 123456

# 数据库名

database:

- test

export:

# 文件夹

dir: D:\symon

4.打开ExportApplication.java并执行main函数

public static void main(String[] args) {

DatabaseExporter exporter = new MySQLDatabaseExporter(ConfigUtil.loadConfig());

exporter.export();

}

等待之后控制台显示如下信息,则执行成功

Loading config - application.yml

Export success :D:\symon\test.md

导出结果

扩展数据库

通过实现AbstractDatabaseExporter类来扩展其他数据库,如下扩展Oracle数据库

public class OracleDatabaseExporter extends AbstractDatabaseExporter{

public OracleDatabaseExporter(AppConfig config) {

super(config);

}

@Override

protected PreparedStatement getTablePreparedStatement(Connection connection, String database) throws SQLException {

// 根据database数据库名拼接自定义SQL查询数据库表

// connection.prepareStatement("查询表SQL")

return null;

}

@Override

protected PreparedStatement getColumnPreparedStatement(Connection connection, String database) throws SQLException {

// 根据database数据库名拼接自定义SQL查询数据库表结构

// connection.prepareStatement("查询表结构SQL")

return null;

}

@Override

protected void setColumnPreparedStatementParams(PreparedStatement ps, String tableName) throws SQLException {

// 设置每个查询表结构SQL的参数:tableName表名

// 例如 ps.setString(1, tableName);

}

@Override

protected List getPrimaryKeyColumnNames(Connection connection, String database, String tableName) throws SQLException {

// 获取数据库(database)表(tableName)的主键列名

return null;

}

}

Markdown转Word,HTML

推荐使用 pandoc ,将Markdown转Word,HTML等格式文件

后面有时间我会把pandoc集成到项目中来

mysql数据词典生成markdown_老板让我把数据库字典导出到Markdown格式的文件相关推荐

  1. R语言数据导出(数据保存、导出、持久化到本地指定目录文件)、使用foreign包的write.dta函数将dataframe导出为Stata格式dta文件

    R语言数据导出(数据保存.导出.持久化到本地指定目录文件).使用foreign包的write.dta函数将dataframe导出为Stata格式dta文件 目录

  2. mysql数据迁移数据一致性检教6_如何在数据库迁移中保证数据一致性?

    原标题:如何在数据库迁移中保证数据一致性? 作者 | 王斌 译者 | 平川 策划 | 万佳 在分布式系统中,保持数据一致非常困难,而且很容易出错.在本文中,我们将探索一种在迁移期间保持数据一致性的方法 ...

  3. 二次开发mysql数据反推_Discuz二次开发之数据库操作

    一.discuz数据操作之查: 1.fetch_all DB::fetch_all(sql, $arg = array());//取出符合条件的所有数据 sql为查询语句,$arg为绑定参数 例:$r ...

  4. python生成excel表格-Python实现将数据库一键导出为Excel表格的实例

    数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...

  5. python如何读取数据并输出为表格_Python实现将数据库一键导出为Excel表格的实例...

    数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...

  6. app怎么调用mysql数据_手机app怎么调用php操作数据库的接口?

    做毕设项目,现在需求很简单,php文件放在服务器上,作用是获取mysql数据库的数据. 服务器端php代码如下: header('Access-Control-Allow-Origin:*'); // ...

  7. listview显示mysql数据_C#在listview控件中显示数据库数据

    一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...

  8. 加载mySQL数据到内存_【测试验证】数据库加载到内存占用大小

    介绍 数据库大小加载到内存占用是不是数据库的本身大小哪?今天忽然突发奇想于是就测试一下.首先我要说明的是我是在EF框架下进行测试的,不知道会不会与ado.net连接方式差生不同的结果,我仅仅是做记录, ...

  9. win7两个mysql数据同步_两台服务器两个数据库怎么实现数据同步备份。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 SQL Server 2008 镜像 环境设置. 初始环境: 1.主机 Win7 + SQL Server 2008 R2 IP地址:192.168.56 ...

  10. mysql 数据拦截器_拦截器中操作数据库

    做了个小项目,当初设计的是只有一个模块的用户行为被记录,其他不用记录,昨天突然说,要用户在整个系统的行为都要被记录. 很懵逼,如果把用户行为的记录放在各个模块,可以很精确的记录,但是各个模块都要有更改 ...

最新文章

  1. vs2015添加管理员权限
  2. HDU 4407 sum 容斥原理
  3. 设计模式学习 之 单例模式
  4. was web 服务器性能测试,was web 服务器性能测试
  5. 解决linux ssh客户端SSH连接linux服务器很慢的问题
  6. win10下vs2015编译的程序如何运行在win7等系统(无需安装Redistributable)
  7. [转]解决 cannot restore segment prot after reloc: Permission denied
  8. Same Sum Blocks
  9. c# 四舍五入、上取整、下取整
  10. 全自动洗衣机维修教程
  11. python并行for循环_Python并行执行for循环
  12. Hello Blazor:(9)Source Generators生成导航菜单
  13. 华为手机harmonyos系统,华为王成录:手机销量仍在增长 未来会是HarmonyOS系统的中心...
  14. 【转】简单的解释XSS攻击
  15. Consul实践之Consul常见应用场景及方案梳理(FAQ)
  16. 如何通过 OAuth 2.0 使 iOS Apps 集成 LinkedIn 登录功能?
  17. php tcpdf 黑线,php – tcpdf中的内部链接
  18. Photoshop CS6 破解
  19. Python:导出QQ聊天记录-让我们看看逗比群友都在聊什么
  20. 信息学奥赛一本通(c++):1125:矩阵乘法

热门文章

  1. android webview 播放swf 失败彻底解决黑框
  2. [Oracle整理]树形查询(start with connect by)
  3. Object对象的内存布局学习总结
  4. Java网络编程之URL、URLConnection、URLEncoder、URLDecoder
  5. 完全卸载MySQL 数据库——清空MySql注册表
  6. Liferay中页面的权限控制
  7. Apache Ignite(七):基于Ignite的企业级分布式并行计算
  8. 使用web.xml控制Web应用的行为
  9. 解析Web应用服务四大弱点
  10. MOSS2007匿名调查列表使用分页符导致的错误分析