• java连接mysql数据库结构表批量生产word文档


    java连接数据库,数据库结构表批量生产word文档

    pom包引用

    1. cn.smallbun.screw
    2. screw-core
    3. 1.0.5
    4. mysql
    5. mysql-connector-java
    6. 8.0.22

    代码实现

    1. package com.mpolicy.dbfile.utils;
    2. import java.util.ArrayList;
    3. import javax.sql.DataSource;
    4. import cn.smallbun.screw.core.execute.DocumentationExecute;
    5. import com.zaxxer.hikari.HikariConfig;
    6. import com.zaxxer.hikari.HikariDataSource;
    7. import cn.smallbun.screw.core.Configuration;
    8. import cn.smallbun.screw.core.engine.EngineConfig;
    9. import cn.smallbun.screw.core.engine.EngineFileType;
    10. import cn.smallbun.screw.core.engine.EngineTemplateType;
    11. import cn.smallbun.screw.core.process.ProcessConfig;
    12. public class Main {
    13. public static void main(String[] args) {
    14. //数据源
    15. HikariConfig hikariConfig = new HikariConfig();
    16. hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
    17. hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai");
    18. hikariConfig.setUsername("root");
    19. hikariConfig.setPassword("123456");
    20. //设置可以获取tables remarks信息
    21. hikariConfig.addDataSourceProperty("useInformationSchema", "true");
    22. hikariConfig.setMinimumIdle(2);
    23. hikariConfig.setMaximumPoolSize(5);
    24. DataSource dataSource = new HikariDataSource(hikariConfig);
    25. //生成配置
    26. EngineConfig engineConfig = EngineConfig.builder()
    27. //生成文件路径
    28. .fileOutputDir("/Users/shang/data/")
    29. //打开目录
    30. .openOutputDir(true)
    31. //文件类型
    32. .fileType(EngineFileType.WORD)
    33. //生成模板实现
    34. .produceType(EngineTemplateType.freemarker)
    35. //自定义文件名称
    36. .fileName("数据库设计文档v1.0").build();
    37. //忽略表
    38. ArrayList ignoreTableName = new ArrayList<>();
    39. ignoreTableName.add("test_user");
    40. //忽略表前缀
    41. ArrayList ignorePrefix = new ArrayList<>();
    42. ignorePrefix.add("test_");
    43. //忽略表后缀
    44. ArrayList ignoreSuffix = new ArrayList<>();
    45. ignoreSuffix.add("_test");
    46. ProcessConfig processConfig = ProcessConfig.builder()
    47. //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
    48. //根据名称指定表生成
    49. .designatedTableName(new ArrayList<>())
    50. //根据表前缀生成
    51. .designatedTablePrefix(new ArrayList<>())
    52. //根据表后缀生成
    53. .designatedTableSuffix(new ArrayList<>())
    54. //忽略表名
    55. .ignoreTableName(ignoreTableName)
    56. //忽略表前缀
    57. .ignoreTablePrefix(ignorePrefix)
    58. //忽略表后缀
    59. .ignoreTableSuffix(ignoreSuffix).build();
    60. //配置
    61. Configuration config = Configuration.builder()
    62. //版本
    63. .version("v1.0.0")
    64. //描述
    65. .description("数据库设计文档生成")
    66. //数据源
    67. .dataSource(dataSource)
    68. //生成配置
    69. .engineConfig(engineConfig)
    70. //生成配置
    71. .produceConfig(processConfig)
    72. .build();
    73. //执行生成
    74. new DocumentationExecute(config).execute();
    75. }
    76. }

    导出效果

  • 相关阅读:
    网络工程师知识点3
    springboot学生心理咨询评估系统的设计与实现(文档+源码)
    ldap服务安装,客户端安装,ldap用户登录验证测试
    PCL - 3D点云配准(registration)介绍
    P1562 还是N皇后
    米家竞品分析
    redis常用命令
    自然语言处理从零到入门 Attention 机制
    ABAP 企业微信ASE CBC 解密算法
    C++初阶(十)模板初阶
  • 原文地址:https://blog.csdn.net/love468092550/article/details/134033824