快速导出数据库表结构文档"/>
screw快速导出数据库表结构文档
screw快速导出数据库表结构文档
文章目录
- screw快速导出数据库表结构文档
- 引入依赖
- 编写代码
- 参考
引入依赖
<!-- freemarker --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.30</version></dependency><!-- screw --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.5</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.20</version></dependency>
编写代码
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;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;import javax.sql.DataSource;
import java.util.ArrayList;/*** 功能描述: 数据库 表结构 生成** @author : yzd e-mail: 121665820@qq* @return :* @create : 2023/3/20 11:56*/
public class DbExport {public static final String host = "192.168.2.111";public static final String db_name = "health_card_investigation";public static final String file_path = "E:\\2";public static void main(String[] args) {HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://" + host +":3306/" + db_name + "?serverTimezone=UTC&useUnicode=true" +"&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=utf-8");hikariConfig.setUsername("root");hikariConfig.setPassword("admin");//设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);//配置Configuration config = Configuration.builder()//版本.version("1.0.0")//描述.description("数据库设计文档生成")//数据源.dataSource(dataSource)//生成配置.engineConfig(getEngineConfig())//生成配置.produceConfig(getProcessConfig()).build();//执行生成new DocumentationExecute(config).execute();}/*** 文件路径 目录 等** @return 生成配置*/public static EngineConfig getEngineConfig() {//生成配置return EngineConfig.builder()//生成文件路径.fileOutputDir(file_path)//导出的目录地址//打开目录.openOutputDir(true)//文件类型.fileType(EngineFileType.WORD)//生成模板实现.produceType(EngineTemplateType.freemarker)//自定义文件名称.build();}/*** 配置想要生成的表+ 配置想要忽略的表** @return 生成表配置*/public static ProcessConfig getProcessConfig() {//指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置//忽略表ArrayList<String> ignoreTableName = new ArrayList<>();//忽略表前缀ArrayList<String> ignorePrefix = new ArrayList<>();//忽略表后缀ArrayList<String> ignoreSuffix = new ArrayList<>();return ProcessConfig.builder()//根据名称指定表生成.designatedTableName(new ArrayList<>())//根据表前缀生成.designatedTablePrefix(new ArrayList<>())//根据表后缀生成.designatedTableSuffix(new ArrayList<>())//忽略表名.ignoreTableName(ignoreTableName)//忽略表前缀.ignoreTablePrefix(ignorePrefix)//忽略表后缀.ignoreTableSuffix(ignoreSuffix).build();}
}
参考
更多推荐
screw快速导出数据库表结构文档
发布评论