mysql表 自动生成word文档,java方式

1、新建一个maven项目,并引入包

<!-- 导出文档包 -->
<dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.5</version> </dependency>

<!-- 数据库驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.20</version>
</dependency>

2、新建一个类,MysqlDocumentGeneration,然后运行main方法就可以了

package com.mawan.system;

import java.util.ArrayList;

import javax.sql.DataSource;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;

public class MysqlDocumentGeneration {
    
    public static void main(String[] args) {
        //数据源
           HikariConfig hikariConfig = new HikariConfig();
           hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
           hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai");
           hikariConfig.setUsername("root");
           hikariConfig.setPassword("password");
           //设置可以获取tables remarks信息
           hikariConfig.addDataSourceProperty("useInformationSchema", "true");
           hikariConfig.setMinimumIdle(2);
           hikariConfig.setMaximumPoolSize(5);
           DataSource dataSource = new HikariDataSource(hikariConfig);
           //生成配置
           EngineConfig engineConfig = EngineConfig.builder()
                 //生成文件路径
                 .fileOutputDir("/Users/apple/Downloads")
                 //打开目录
                 .openOutputDir(true)
                 //文件类型
                 .fileType(EngineFileType.WORD)
                 //生成模板实现
                 .produceType(EngineTemplateType.freemarker)
                 //自定义文件名称
                 .fileName("mysql数据库设计").build();

           //忽略表
           ArrayList<String> ignoreTableName = new ArrayList<>();
           ignoreTableName.add("test_user");
           //忽略表前缀
           ArrayList<String> ignorePrefix = new ArrayList<>();
           ignorePrefix.add("test_");
           ignorePrefix.add("flyway-");
           //忽略表后缀    
           ArrayList<String> ignoreSuffix = new ArrayList<>();
           ignoreSuffix.add("_test");
           ProcessConfig processConfig = ProcessConfig.builder()
                 //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置    
                 //根据名称指定表生成
                 .designatedTableName(new ArrayList<>())
                 //根据表前缀生成
                 .designatedTablePrefix(new ArrayList<>())
                 //根据表后缀生成    
                 .designatedTableSuffix(new ArrayList<>())
                 //忽略表名
                 .ignoreTableName(ignoreTableName)
                 //忽略表前缀
                 .ignoreTablePrefix(ignorePrefix)
                 //忽略表后缀
                 .ignoreTableSuffix(ignoreSuffix).build();
           //配置
          Configuration config = Configuration.builder()
                 //版本
                 .version("1.0.0")
                 //描述
                 .description("数据库设计文档生成")
                 //数据源
                 .dataSource(dataSource)
                 //生成配置
                 .engineConfig(engineConfig)
                 //生成配置
                 .produceConfig(processConfig)
                 .build();
           //执行生成
           new DocumentationExecute(config).execute();
    }
}

 根据源文章改造:https://toscode.gitee.com/leshalv/screw

 

分享一个淘宝、京东、拼多多、饿了么、美团、抖音等等买东西后真实返钱小技巧,

打车、外卖领券,充值话费95折好像也可以

使用教程用微信扫下方二维码查看详细说明

 

posted @ 2022-11-28 14:59  Binz  阅读(434)  评论(0编辑  收藏  举报