Java一键生成数据库表结构
支持的数据库很多,基本上都支持
核心依赖:

        <!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP --><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>3.4.5</version></dependency><!--        生成数据库接口表的核心依赖screw-core--><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.5</version></dependency>

核心功能代码,可以直接复制,改动相关配置即可

package com.zjh.controller.admincontroller;import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.annotation.Value;import javax.sql.DataSource;
import java.util.Collections;public class AdminExportDbTb {// 数据源地址private static final String DB_URL = "jdbc:mysql://localhost:3306";// 库名以及配置private static final String DB_NAME = "volunteersys?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false";// 用户名private static final String DB_USERNAME = "root";// 密码private static final String DB_PASSWORD = "123456";// 导出到本地的位置private static final String FILE_OUTPUT_DIR = "D:\\数据库结构导出";// 可以设置 Word 或者 Markdown 格式private static final EngineFileType FILE_OUTPUT_TYPE = EngineFileType.WORD;// 导出的文件名private static final String DOC_FILE_NAME = "数据库表结构";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 DataSource buildDataSource() {// 创建 HikariConfig 配置类HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl(DB_URL + "/" + DB_NAME);hikariConfig.setUsername(DB_USERNAME);hikariConfig.setPassword(DB_PASSWORD);// 设置可以获取 tables remarks 信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");// 创建数据源return new HikariDataSource(hikariConfig);}/*** 创建 screw 的引擎配置*/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();}/*** 创建 screw 的处理配置,一般可忽略* 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置*/private static ProcessConfig buildProcessConfig() {return ProcessConfig.builder()// 根据名称指定表生成.designatedTableName(Collections.<String>emptyList())// 根据表前缀生成.designatedTablePrefix(Collections.<String>emptyList())// 根据表后缀生成.designatedTableSuffix(Collections.<String>emptyList())// 忽略表名//.ignoreTableName(Arrays.asList("test", "mytable","role","t_role","t_user"))// 忽略表前缀//.ignoreTablePrefix(Collections.singletonList("t_"))// 忽略表后缀//.ignoreTableSuffix(Collections.singletonList("_test")).build();}
}

测试:
直接运行方法

测试结果:

Java一键生成数据库表结构相关推荐

  1. Java实现生成数据库表结构文档(生成工具screw的使用)

    目录 一.screw介绍 1.简介 2.特点 3.文档格式 二.生成方式 2.1 方式1:使用 Java 代码 2.1.1 引入依赖 2.1.2 编写代码 2.1.3 测试 2.2 方式2:使用 Sp ...

  2. 自动生成数据库表结构word文档的工具(一)---- DBDocumentGenerator

    背景: 项目中需要编写数据库表结构文档,手动编写繁琐,格式难统一,且易出错,有没有自动生成数据库表结构文档的工具 方案 DBDocumentGenerator 数据字典生成工具,用于生成 数据库表 及 ...

  3. mysql 一键获取数据库表结构

    作用: 1.获取当前数据库所有的表信息 2.获取当前表结构信息 查询数据库中的表: -- 查询数据库中的表 SELECT * FROM information_schema.`TABLES` wher ...

  4. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转

    对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...

  5. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解

    摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...

  6. 如何快速生成数据库表结构以及数据字典

    快速生成数据字典 1 简述 在从业过程中,经常遇到一些先行后设计.先开发再总结的老旧项目:当接手一个老旧项目时,想要快速了解项目,从数据库设计必定是最优选择:有经验的开发人员,从数据库的表设计.字段设 ...

  7. 数据库界的Swagger:一键生成数据库文档!你不了解一下?

    对于API的文档,我们有Swagger等工具来自动生成了.但有有一类文档还是常常困扰着我们,那就是数据库表结构的文档.相信很多同学都有过手写数据库表结构文档 的经历吧?常规操作就是一通无脑的 CV 大 ...

  8. Mysql数据库表结构导出工具介绍

    软件开发过程中,数据库设计是其中非常重要的一个环节,一般在设计阶段都会采用PowerDesigner进行数据库表的设计并生成数据库表结构文档.但是有的时候数据库表结构文档缺失了怎么办,能不能从数据库直 ...

  9. java 轻量数据库_DBTree是一个springboot2 + vue-element-template实现的轻量数据库表结构查看及管理工具...

    DBTree简介 DBTree是一个WEB版的轻量数据库表结构查看及管理工具,相比phpMyAdmin, DBTree只专注于方便开发查看表结构信息和 注释维护.通过树形展示库表结构,可以对表进行自定 ...

最新文章

  1. std::ref std::cref
  2. 【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )
  3. 2.QLabel,QPushButton,QLineEdit,QComboBox,QCheckBox,QRadioButton,QTextEdit,QTextBrowser,QGroupBox,QSl
  4. [剑指offer]面试题第[38]题[JAVA][字符串的排列][回溯法]
  5. 数据建模-聚类分析-K-Means算法
  6. 用anaconda保证64位和32位的python共存
  7. 学生选课管理系统(python)
  8. python安装第三方库出现问题怎么办_关于Python第三方库安装失败问题的解决方案...
  9. 两阶段最小二乘法与R
  10. activiti工作流数据库表详细说明
  11. 中级微观经济学:Chap 6 需求
  12. 去掉Xcelsius报表在EP展示空白边界
  13. CVE-2017-7494紧急预警:Samba蠕虫级提权漏洞,攻击代码已在网上扩散
  14. 实战-H3C交换机之Web界面
  15. OFD格式文件转PDF格式文件
  16. PHP一码空传临时网盘源码2.0+带提取码模块
  17. 《现代密码学》2022年期末试卷
  18. 机器学习 - SVD分解算法的物理意义
  19. 手机如何登录企业邮箱,公司电子邮箱登录页面在哪里?
  20. 西北工业大学计算机学院推免研究生,西北工业大学2021年接收推荐免试研究生预报名的通知...

热门文章

  1. SumperMap基本编程
  2. 10-218 在订单表中查询运费的平均值
  3. Android Studio 添加图标
  4. 西交大计算机英语复试,西安交大复试的详细流程
  5. Allan Variance
  6. php echo换行
  7. abb和plcsocket通讯_ABB-PLC之间通讯
  8. java计算机毕业设计服装定制管理系统源码+mysql数据库+系统+lw文档+部署
  9. (转)天道酬勤,上善若水—八字真言让您立于“不败之地”
  10. 郭大侠与线上游戏(set)