springboot~Screw生成数据库文档

打印 上一主题 下一主题

主题 887|帖子 887|积分 2661

数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过screw组件来生成文档,非常方便。
源代码和使用:https://github.com/pig-mesh/screw
添加依赖
  1.      <dependency>
  2.             <groupId>cn.smallbun.screw</groupId>
  3.             <artifactId>screw-core</artifactId>
  4.             <version>1.0.3</version>
  5.      </dependency>
复制代码
编写生成数据库代码
  1. @Test
  2. public void documentGeneration() {
  3.                 // 数据源
  4.                 HikariConfig hikariConfig = new HikariConfig();
  5.                 hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
  6.                 hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/pig");
  7.                 hikariConfig.setUsername("root");
  8.                 hikariConfig.setPassword("123456");
  9.                 // 设置可以获取tables remarks信息
  10.                 hikariConfig.addDataSourceProperty("useInformationSchema", "true");
  11.                 hikariConfig.setMinimumIdle(2);
  12.                 hikariConfig.setMaximumPoolSize(5);
  13.                 DataSource dataSource = new HikariDataSource(hikariConfig);
  14.                 // 生成配置
  15.                 EngineConfig engineConfig = EngineConfig.builder()
  16.                                 // 生成文件路径
  17.                                 .fileOutputDir("d:\\数据库说明文档screw")
  18.                                 // 打开目录
  19.                                 .openOutputDir(true)
  20.                                 // 文件类型
  21.                                 .fileType(EngineFileType.HTML)
  22.                                 // 生成模板实现
  23.                                 .produceType(EngineTemplateType.freemarker).build();
  24.                 // 忽略表
  25.                 ArrayList<String> ignoreTableName = new ArrayList<>();
  26.                 ignoreTableName.add("test_user");
  27.                 ignoreTableName.add("test_group");
  28.                 // 忽略表前缀
  29.                 ArrayList<String> ignorePrefix = new ArrayList<>();
  30.                 ignorePrefix.add("test_");
  31.                 // 忽略表后缀
  32.                 ArrayList<String> ignoreSuffix = new ArrayList<>();
  33.                 ignoreSuffix.add("_test");
  34.                 ProcessConfig processConfig = ProcessConfig.builder()
  35.                                 // 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
  36.                                 // 根据名称指定表生成
  37.                                 .designatedTableName(new ArrayList<>())
  38.                                 // 根据表前缀生成
  39.                                 .designatedTablePrefix(new ArrayList<>())
  40.                                 // 根据表后缀生成
  41.                                 .designatedTableSuffix(new ArrayList<>())
  42.                                 // 忽略表名
  43.                                 .ignoreTableName(ignoreTableName)
  44.                                 // 忽略表前缀
  45.                                 .ignoreTablePrefix(ignorePrefix)
  46.                                 // 忽略表后缀
  47.                                 .ignoreTableSuffix(ignoreSuffix).build();
  48.                 // 配置
  49.                 Configuration config = Configuration.builder()
  50.                                 // 版本
  51.                                 .version("1.0.0")
  52.                                 // 描述
  53.                                 .description("数据库设计文档生成")
  54.                                 // 数据源
  55.                                 .dataSource(dataSource)
  56.                                 // 生成配置
  57.                                 .engineConfig(engineConfig)
  58.                                 // 生成配置
  59.                                 .produceConfig(processConfig).build();
  60.                 // 执行生成
  61.                 new DocumentationExecute(config).execute();
  62.         }
复制代码
文档效果



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表