pom文件
<!-- oracle驱动-->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.1.0.0</version>
</dependency>
<!-- 引入 screw -->
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.5</version>
</dependency>
java类
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.Arrays;
import java.util.List;
/**
* @author huangxianbin
* @description
* @date 2024/8/14 10:41
**/
public class Test {
public static void main(String[] args) {
// 数据源
HikariConfig hikariConfig = new HikariConfig();
//mysql
//hikariConfig.setDriverClassName("com.mysql.jdbc.Driver");
//hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/dbaname");
//oracle
hikariConfig.setDriverClassName("oracle.jdbc.OracleDriver");
hikariConfig.setJdbcUrl("jdbc:oracle:thin:@//127.0.0.1:1521/ccc");
hikariConfig.setUsername("cms");
hikariConfig.setPassword("ccc");
// 设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
// 1、生成文件配置
EngineConfig engineConfig = EngineConfig.builder()
// 生成文件路径
// .fileOutputDir("/Users/jianchenghou/uploadjar")//windows需要写盘符,我的是mac就省略了
.fileOutputDir("D:\\")//windows
// 打开目录
.openOutputDir(false)
// 文件类型
.fileType(EngineFileType.WORD)
// 生成模板实现
.produceType(EngineTemplateType.freemarker).build();
// 忽略表名
List<String> ignoreTableName = Arrays.asList("test");
// 忽略表前缀
List<String> ignorePrefix = Arrays.asList("R_CMS_", "test");
// 忽略表后缀
List<String> ignoreSuffix = Arrays.asList("R_CMS_", "test");
// 2、配置想要忽略的表
ProcessConfig processConfig = ProcessConfig.builder().ignoreTableName(ignoreTableName).ignoreTablePrefix(ignorePrefix).ignoreTableSuffix(ignoreSuffix).build();
//我这里就不配置了
// ProcessConfig processConfig = ProcessConfig.builder().build();
// 3、生成文档配置(包含以下自定义版本号、描述等配置连接)
Configuration config = Configuration.builder().version("1.0.1").description("数据库文档").dataSource(dataSource)
.engineConfig(engineConfig).produceConfig(processConfig).build();
// 4、执行生成
new DocumentationExecute(config).execute();
}
}