mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-10 21:19:00 +08:00
✨ Introducing new features. close #3396 代码生成支持数据库表结构文档导出
This commit is contained in:
1 parent
08e7eccaf1
commit
61983ec946
3 files changed
+37
-1
No files matched your search
@@ -15,6 +15,7 @@
|
||||
<description>代码生成模块</description>
|
||||
|
||||
<properties>
|
||||
<screw.version>0.0.1</screw.version>
|
||||
<sqlserver.version>4.0</sqlserver.version>
|
||||
<db2.version>11.5.0.0</db2.version>
|
||||
<oracle.version>12.1.0.1-atlassian-hosted</oracle.version>
|
||||
@@ -123,6 +124,12 @@
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<version>${velocity.version}</version>
|
||||
</dependency>
|
||||
<!--生成文档-->
|
||||
<dependency>
|
||||
<groupId>io.springboot.plugin</groupId>
|
||||
<artifactId>screw-spring-boot-starter</artifactId>
|
||||
<version>${screw.version}</version>
|
||||
</dependency>
|
||||
<!--web 模块-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
+29
@@ -17,18 +17,25 @@
|
||||
|
||||
package com.pig4cloud.pigx.codegen.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.smallbun.screw.boot.config.Screw;
|
||||
import cn.smallbun.screw.boot.properties.ScrewProperties;
|
||||
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pig4cloud.pigx.codegen.entity.GenConfig;
|
||||
import com.pig4cloud.pigx.codegen.service.GenTableColumnService;
|
||||
import com.pig4cloud.pigx.codegen.service.GeneratorService;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
import com.pig4cloud.pigx.common.core.util.SpringContextHolder;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
/**
|
||||
* 代码生成器
|
||||
@@ -41,6 +48,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
@RequestMapping("/generator")
|
||||
public class GeneratorController {
|
||||
|
||||
private final Screw screw;
|
||||
|
||||
private final GeneratorService generatorService;
|
||||
|
||||
private final GenTableColumnService columnService;
|
||||
@@ -94,4 +103,24 @@ public class GeneratorController {
|
||||
IoUtil.write(response.getOutputStream(), Boolean.TRUE, data);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@GetMapping("/doc")
|
||||
public void generatorDoc(String[] tableNames, String dsName, HttpServletResponse response) {
|
||||
// 设置指定的数据源
|
||||
DynamicRoutingDataSource dynamicRoutingDataSource = SpringContextHolder.getBean(DynamicRoutingDataSource.class);
|
||||
DynamicDataSourceContextHolder.push(dsName);
|
||||
DataSource dataSource = dynamicRoutingDataSource.determineDataSource();
|
||||
|
||||
// 设置指定的目标表
|
||||
ScrewProperties screwProperties = SpringContextHolder.getBean(ScrewProperties.class);
|
||||
screwProperties.setDesignatedTableName(CollUtil.toList(tableNames));
|
||||
|
||||
// 生成
|
||||
byte[] data = screw.documentGeneration(dataSource, screwProperties).toByteArray();
|
||||
response.reset();
|
||||
response.addHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(data.length));
|
||||
response.setContentType("application/octet-stream; charset=UTF-8");
|
||||
IoUtil.write(response.getOutputStream(), Boolean.TRUE, data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
</organization>
|
||||
|
||||
<properties>
|
||||
<spring-boot.version>2.5.6</spring-boot.version>
|
||||
<spring-boot.version>2.5.7</spring-boot.version>
|
||||
<spring-cloud.version>2020.0.4</spring-cloud.version>
|
||||
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
Reference in new issue
Block a user