1、生成数据库设计文档
    screw
    1.新建Java应用程序
    2.引入依赖

    1. <dependency>
    2. <groupId>cn.smallbun.screw</groupId>
    3. <artifactId>screw-core</artifactId>
    4. <version>1.0.3</version>
    5. </dependency>

    3.复制测试用例,并修改相关信息

    1. import cn.smallbun.screw.core.Configuration;
    2. import cn.smallbun.screw.core.engine.EngineConfig;
    3. import cn.smallbun.screw.core.engine.EngineFileType;
    4. import cn.smallbun.screw.core.engine.EngineTemplateType;
    5. import cn.smallbun.screw.core.execute.DocumentationExecute;
    6. import cn.smallbun.screw.core.process.ProcessConfig;
    7. import com.zaxxer.hikari.HikariConfig;
    8. import com.zaxxer.hikari.HikariDataSource;
    9. import org.junit.jupiter.api.Test;
    10. import javax.sql.DataSource;
    11. import java.util.ArrayList;
    12. private class ScrewTest {
    13. @Test
    14. private void testScrew() {
    15. //数据源
    16. HikariConfig hikariConfig = new HikariConfig();
    17. hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
    18. hikariConfig.setJdbcUrl("jdbc:mysql://192.168.1.7:3306/org");
    19. hikariConfig.setUsername("dev");
    20. hikariConfig.setPassword("Cqhz2020");
    21. //设置可以获取tables remarks信息
    22. hikariConfig.addDataSourceProperty("useInformationSchema", "true");
    23. hikariConfig.setMinimumIdle(2);
    24. hikariConfig.setMaximumPoolSize(5);
    25. DataSource dataSource = new HikariDataSource(hikariConfig);
    26. //生成配置
    27. EngineConfig engineConfig = EngineConfig.builder()
    28. //生成文件路径
    29. .fileOutputDir("f://temp//成本数据库产品化数据库设计文档")
    30. //打开目录
    31. .openOutputDir(true)
    32. //生成文件类型:HTML(配置多个,只会执行最后一个,PS:MD)
    33. .fileType(EngineFileType.HTML)
    34. .fileType(EngineFileType.WORD)
    35. .fileType(EngineFileType.MD)
    36. //生成模板实现
    37. .produceType(EngineTemplateType.freemarker)
    38. .build();
    39. //忽略表
    40. ArrayList<String> ignoreTableName = new ArrayList<>();
    41. ignoreTableName.add("test_user");
    42. ignoreTableName.add("test_group");
    43. //忽略表前缀
    44. ArrayList<String> ignorePrefix = new ArrayList<>();
    45. ignorePrefix.add("test_");
    46. //忽略表后缀
    47. ArrayList<String> ignoreSuffix = new ArrayList<>();
    48. ignoreSuffix.add("_test");
    49. ProcessConfig processConfig = ProcessConfig.builder()
    50. //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
    51. //根据名称指定表生成
    52. .designatedTableName(new ArrayList<>())
    53. //根据表前缀生成
    54. .designatedTablePrefix(new ArrayList<>())
    55. //根据表后缀生成
    56. .designatedTableSuffix(new ArrayList<>())
    57. //忽略表名
    58. .ignoreTableName(ignoreTableName)
    59. //忽略表前缀
    60. .ignoreTablePrefix(ignorePrefix)
    61. //忽略表后缀
    62. .ignoreTableSuffix(ignoreSuffix).build();
    63. //配置
    64. Configuration config = Configuration.builder()
    65. //版本
    66. .version("1.0.0")
    67. //描述,文档名称
    68. .description("数据库设计文档生成")
    69. //数据源
    70. .dataSource(dataSource)
    71. //生成配置
    72. .engineConfig(engineConfig)
    73. //生成配置
    74. .produceConfig(processConfig)
    75. .build();
    76. //执行生成
    77. new DocumentationExecute(config).execute();
    78. }
    79. }