栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java一键生成《数据库设计文档》

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java一键生成《数据库设计文档》

junit

junit

4.11

test

cn.smallbun.screw

screw-core

1.0.5

org.freemarker

freemarker

2.3.30

com.zaxxer

HikariCP

3.4.5

HikariCP简介

HikariCP是由日本程序员开源的一个数据库连接池组件,代码非常轻量,并且速度非常的快。

根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作,

HikariCP的速度是现在常用的C3P0数据库连接池的数百倍。

Springboot2.0默认连接池,官方也是推荐使用HikariCP。

[](()(2)mysql中db1数据库里面的表

[](()(3) 用screw自动生成数据库文档:

public class Test {

private static final String MYSQL_URL = “jdbc:mysql://localhost:3306”;

private static final String MYSQL_NAME = “db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai”;

private static final String MYSQL_USERNAME = “root”;

private static final String MYSQL_PASSWORD = “root”;

private static final String FILE_OUTPUT_DIR = “E:”;

private static final EngineFileType FILE_OUTPUT_TYPE = EngineFileType.WORD;

private static final String DOC_FILE_NAME = “java实现数据库表设计文档”;

private static final String DOC_VERSION = “V1.0.0”;

private static final String DOC_DEscriptION = “数据库表设计描述”;

public static void main(String[] args) {

// 创建 screw 的配置

Configuration config = Configuration.builder()

// 版本

.version(DOC_VERSION)

// 描述

.description(DOC_DEscriptION)

// 数据源

.dataSource( buildDataSource())

// 引擎配置

.engineConfig(buildEngineConfig())

// 处理配置

.produceConfig(buildProcessConfig())

.build();

// 执行 screw,生成数据库文档

new documentationExecute(config).execute();

}

private static HikariDataSource buildDataSource() {

// 创建 HikariConfig 配置类

HikariConfig hikariConfig = new HikariConfig();

hikariConfig.setDriverClassName(“com.mysql.cj.jdbc.Driver”);

hikariConfig.setJdbcUrl(MYSQL_URL + “/” + MYSQL_NAME);

hikariConfig.setUsername(MYSQL_USERNAME);

hikariConfig.setPassword(MYSQL_PASSWORD);

// 设置可以获取 tables remarks 信息

hikariConfig.addDataSourceProperty(“useInformationSchema”, “true”);

hikariConfig.setMinimumIdle(2);

hikariConfig.setMaximumPoolSize(5);

// 创建数据源

HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);

return hikariDataSource;

}

private static EngineConfig buildEngineConfig() {

return EngineConfig.builder()

// 生成文件路径

.fileOutputDir(FILE_OUTPUT_DIR)

// 打开目录

.openOutputDir(false)

// 文件类型

.fileType(FILE_OUTPUT_TYPE)

// 文件类型

.produceType(EngineTemplateType.freemarker)

// 自定义文件名称

.fileName(DOC_FILE_NAME)

.build();

}

private static ProcessConfig buildProcessConfig() {

return ProcessConfig.builder()

// 根据名称指定表生成

.designatedTableName(Collections.emptyList())

// 根据表前缀生成

.designatedTablePrefix(Collections.emptyList())

// 根据表后缀生成

.designatedTableSuffix(Collections.emptyList())

// 忽略数据库中address这个表名

.ignoreTableName(Arrays.asList(“address”))

// 忽略表前缀,就是db1数据库中表名是t_开头的都不生产数据库文档(t_student,t_user这两张表)

.ignoreTablePrefix(Collections.singletonList(“t_”))

// 忽略表后缀(就是db1数据库中表名是_teacher结尾的都不生产数据库文档:stu_teacher)

.ignoreTableSuffix(Collections.singletonList("_teacher"))

.build();

}

控制台打印部分信息

[](()三:java自动生成的《数据库文档》

=====================================================================================

[](()数据库设计文档

==========================================================================

数据库名: db1

文档版本: V1.0.0

文档描述: 数据库表设计描述

| 表名 | 说明 |

| — | — |

| admin | |

| card | |

| dep | |

| emp | |

| person | |

| student | |

| teacher | |

| user | |

表名: admin

说明:

数据列:

| 序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |

| — | — | — | — | — | — | — | — | — |

| 1 | id | int | 10 | 0 | N | Y | | |

| 2 | name | varchar | 20 | 0 | N | N | | |

| 3 | password | varchar | 20 | 0 | N | N | | |

表名: card

说明:

数据列:

| 序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |

| — | — | — | — | — | — | — | — | — |

| 1 | id | int | 10 | 0 | N | Y | | |

| 2 | number | varchar | 30 | 0 | Y | N | | |

| 3 | pid | int | 10 | 0 | Y | N | | |

表名: dep

说明:

数据列:

| 序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |

| — | — | — | — | — | — | — | — | — |

| 1 | id | int | 10 | 0 | N | Y | | |

| 2 | name | varchar | 20 | 0 | N | N | | |

| 3 | address | varchar | 50 | 0 | N | N | | |

表名: emp

说明:

数据列:

| 序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |

| — | — | — | — | — | — | — | — | — |

| 1 | id | int | 10 | 0 | N | Y | | |

| 2 | username | varchar | 20 | 0 | N | N | | |

| 3 | age | int | 10 | 0 | N | N | | |

| 4 | salary | double | 23 | 0 | N | N | | |

表名: person

说明:

数据列:

| 序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |

| — | — | — | — | — | — | — | — | — |

| 1 | id | int | 10 | 0 | N | Y | | |

| 2 | NAME | varchar | 20 | 0 | Y | N | | |

| 3 | age | int | 10 | 0 | Y | N | | |

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号