引入依赖
<dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.3</version> </dependency>
请自行配置好数据源
目前screw支持的数据库
- MySQL
- MariaDB
- TIDB
- Oracle
- SqlServer
- PostgreSQL
- Cache DB
- H2 (开发中)
- DB2 (开发中)
- HSQL (开发中)
- SQLite(开发中)
- 瀚高(开发中)
- 达梦 (开发中)
- 虚谷 (开发中)
- 人大金仓(开发中)
在SpringBoot中编写测试类
package com.landimc.sbs; import javax.sql.DataSource; 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 org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import javax.sql.DataSource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @SpringBootTest class SbsApplicationTests { @Autowired ApplicationContext applicationContext; @Test void contextLoads() { DataSource dataSourceMysql = applicationContext.getBean(DataSource.class); // 生成文件配置 EngineConfig engineConfig = EngineConfig.builder() // 生成文件路径 .fileOutputDir("E:\\doc\\zqt") // 打开目录 .openOutputDir(false) // 文件类型(目前支持html、doc、MD格式,个人体验后还是html格式生成后看起来比较舒服,建议使用) .fileType(EngineFileType.HTML) // 生成模板实现 .produceType(EngineTemplateType.freemarker).build(); // 生成文档配置(包含以下自定义版本号、描述等配置连接) Configuration config = Configuration.builder().version("1.0.0").description("文档描述").dataSource(dataSourceMysql).engineConfig(engineConfig).produceConfig(getProcessConfig()).build(); // 执行生成 new DocumentationExecute(config).execute(); } /** * 配置想要生成的表+ 配置想要忽略的表 * * @return 生成表配置 */ public static ProcessConfig getProcessConfig() { // 忽略表名,需要忽略的表将表名放到list中即可 //List<String> ignoreTableName = Arrays.asList("aa", "test_group"); // 忽略表前缀,如忽略a开头的数据库表 //List<String> ignorePrefix = Arrays.asList("a", "t"); // 忽略表后缀 //List<String> ignoreSuffix = Arrays.asList("_test", "czb_"); return ProcessConfig.builder() // 根据名称指定表生成 .designatedTableName(new ArrayList<>()) // 根据表前缀生成 .designatedTablePrefix(new ArrayList<>()) // 根据表后缀生成 .designatedTableSuffix(new ArrayList<>()).build(); } }