java怎么快速生成数据库文档
作者:水悠悠予安
时间:2023-04-30
来源:互联网
浏览:0
环境准备一个开发数据库,以下截取了部分表,实际中可能远不止这些1、导入pom依赖cn.smallbun.screwscrew-core1.0.3com.zaxxerHikariCP3.4.5mysqlmysql-connector-java8.0.112、数据库连接工具类publicclassJdbcUtils{publicstaticStringDRIVER_NAME="com.mysql.jdbc.Driver";publicstaticStringJDBC_URL="jdbc:mysql://IP:
环境准备
一个开发数据库,以下截取了部分表,实际中可能远不止这些

1、导入pom依赖
cn.smallbun.screw screw-core 1.0.3 com.zaxxer HikariCP 3.4.5 mysql mysql-connector-java 8.0.11
2、数据库连接工具类
public class JdbcUtils {
public static String DRIVER_NAME = "com.mysql.jdbc.Driver";
public static String JDBC_URL = "jdbc:mysql://IP:3306/tenant";
public static String USER_NAME = "zhangcy";
public static String PASSWORD = "zhangcy";
public static DataSource getDataSourceFonfig() {
//数据源
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName(DRIVER_NAME);
hikariConfig.setJdbcUrl(JDBC_URL);
hikariConfig.setUsername(USER_NAME);
hikariConfig.setPassword(PASSWORD);
//设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
return new HikariDataSource(hikariConfig);
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER_NAME).newInstance();
conn = java.sql.DriverManager.getConnection(JDBC_URL, USER_NAME, PASSWORD);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 获取某个数据库下的所有表
*
* @return
*/
public static List getTablesNames() {
List tables = new ArrayList<>();
Connection connection = getConnection();
ResultSet rs = null;
Statement st = null;
try {
st = connection.createStatement();
rs = st.executeQuery("show tables");
while (rs.next()) {
String string = rs.getString(1);
tables.add(string);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
st.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return tables;
}
} 3、生成数据库文档核心方法
public class GenerateDoc {
/**
* 生成的文档本地路径
*/
public static final String LOCAL_PATH= "D:\\soft\\table";
public static void main(String[] args) {
DataSource dataSource = JdbcUtils.getDataSourceFonfig();
EngineConfig engineConfig = EngineConfig.builder()
//导出文件地址
.fileOutputDir(LOCAL_PATH)
//是否打开文件夹
.openOutputDir(true)
//文件类型:html、doc、mockdown
.fileType(EngineFileType.WORD)
//模板引擎
.produceType(EngineTemplateType.freemarker).build();
ProcessConfig processConfig = ProcessConfig.builder()
//指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
//根据名称指定表生成
.designatedTableName(JdbcUtils.getTablesNames())
//根据表前缀生成
.designatedTablePrefix(new ArrayList<>())
//根据表后缀生成
.designatedTableSuffix(new ArrayList<>()).build();
//设置生成pojo相关配置
Configuration config = Configuration.builder()
.version("1.0.0")
.description("数据库设计文档")
.dataSource(dataSource)
.engineConfig(engineConfig)
.produceConfig(processConfig).build();
new DocumentationExecute(config).execute();
}
}本段方法中有大量得注释,解释如何生成数据库文档的步骤,以及各个配置参数的作用,拿到程序之后,只需运行main方法即可,注意,可以根据自己的需要,选择生成那种展示形式的文档,比如是本地的doc,或者markdown,或html都是可选的
本段以doc为例,运行main方法,观察结果:

打开数据库文档,基本来说,我们只需简单调整下整体的格式即可使用了

不妨再换一下,生成HTML格式的文件看看,修改下程序中的参数

观察结果:

作者最新文章
灵活计算器
2026-09-16 17:45
苹果折叠屏iPhone预计售价是多少
2026-09-14 13:44
OpenAI GPT-6 Astra 自主通关《传送门》:技术原理与实验成本解析
2026-09-08 19:08
苹果与铠侠签署NAND长期供应协议:3-5年长约与不设价格上限背后的供应链战略
2026-09-08 16:58
PDF转PPT操作指南:在线、本地与批量转换及结果核对
2026-09-04 15:04
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















