通过java实现

<!-- https://mvnrepository.com/artifact/cn.smallbun.screw/screw-core -->
		<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>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<!-- freemarker 模版 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>
  • 配置文件

spring.datasource.url=jdbc:mysql://192.168.1.101:3306/ssm?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.freemarker.checkTemplateLocation=false
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.enabled=true
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.allow-request-override=false
spring.freemarker.check-template-location=true
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false

  • 具体

	@Autowired
	ApplicationContext applicationContext;

	@GetMapping("/db")
	public String contextLoads() {
		DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);
//	      HikariDataSource
		// 生成文件配置
		EngineConfig engineConfig = EngineConfig.builder()
				// 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
				.fileOutputDir("C:\\Users\\EDZ\\Desktop\\1115")
				// 打开目录
				.openOutputDir(false)
				// 文件类型
//	            .fileType(EngineFileType.HTML)
				.fileType(EngineFileType.WORD)
				// 生成模板实现
				.produceType(EngineTemplateType.freemarker).build();

		// 生成文档配置(包含以下自定义版本号、描述等配置连接)
		Configuration config = Configuration.builder().version("1.0.3").description("生成文档信息描述")
				.dataSource(dataSourceMysql).engineConfig(engineConfig).produceConfig(getProcessConfig()).build();

		// 执行生成
		new DocumentationExecute(config).execute();
		return "s";
	}

	/**
	 * 配置想要生成的表+ 配置想要忽略的表
	 * 
	 * @return 生成表配置
	 */
	public static ProcessConfig getProcessConfig() {
		// 忽略表名
		List<String> ignoreTableName = Arrays.asList("aa", "test_group");
		// 忽略表前缀,如忽略a开头的数据库表
		List<String> ignorePrefix = Arrays.asList("ts_", "xc_", "safe_");
		// 忽略表后缀
		List<String> ignoreSuffix = Arrays.asList("_test", "czb_");

		ArrayList<String> zk = new ArrayList<>();
		zk.add("xc_dictionary");
		return ProcessConfig.builder()
				// 根据名称指定表生成
				.designatedTableName(zk)
				// 根据表前缀生成
				.designatedTablePrefix(new ArrayList<>())
				// 根据表后缀生成
				.designatedTableSuffix(new ArrayList<>()).build();
		// 忽略表名
//	            .ignoreTableName(ignoreTableName)
		// 忽略表前缀
//	            .ignoreTablePrefix(ignorePrefix)
		// 忽略表后缀
//	            .ignoreTableSuffix(ignoreSuffix).build();
	}