java怎么快速生成数据库文档
java
数据库
环境准备
一个开发数据库,以下截取了部分表,实际中可能远不止这些
1、导入pom依赖
<!-- screw核心 --> <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.3</version> </dependency> <!-- HikariCP --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.5</version> </dependency> <!--mysql driver--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
登录后复制
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<String> getTablesNames() { List<String> 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格式的文件看看,修改下程序中的参数
观察结果:
以上是java怎么快速生成数据库文档的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保护它?
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处
