⽣成数据库⽂档
数据库⽀持
MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB
配置
pom⽂件
mysql下载add produce
引⼊screw核⼼包,HikariCP数据库连接池,HikariCP号称性能最出⾊的数据库连接池
<!-- 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>
配置数据源
配置数据源,设置 useInformationSchema 可以获取tables注释信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shops?useUnicode=true&characterEncoding=UT
F-8&useSSL=false&serverTimezone=UTC spring.datasource.username=root
spring.datasource.password=root
spring.datasource.sql.cj.jdbc.Driver
spring.datasource.xa.properties.useInformationSchema=true
screw 核⼼配置
screw有两种执⾏⽅式,第⼀种是pom⽂件配置,另⼀种是代码执⾏
<plugin>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-maven-plugin</artifactId>
<version>1.0.3</version>
<dependencies>
<!-- 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>
</dependencies>
<configuration>
<!--username-->
<username>root</username>
<!--password-->
<password>root</password>
<!--driver-->
<driverClassName&sql.cj.jdbc.Driver</driverClassName>
<!--jdbc url-->
<jdbcUrl>jdbc:mysql://127.0.0.1:3306/shops?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=U TC</jdbcUrl>
<!--⽣成⽂件类型    HTML, WORD, MD-->
<fileType>HTML</fileType>
<!--打开⽂件输出⽬录-->
<openOutputDir>false</openOutputDir>
<!--⽣成模板-->
<produceType>freemarker</produceType>
<!--⽂档名称为空时:将采⽤[数据库名称-描述-版本号]作为⽂档名称-->
<!--<docName>测试⽂档名称</docName>-->
<!--描述-->
<description>数据库⽂档⽣成</description>
<!--版本-->
<version>${project.version}</version>
<!--标题-->
<title>yami_shops数据库⽂档</title>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
配置完以后在 maven project->screw 双击执⾏
代码⽣成
q.dbdoc;
import cn.Configuration;
import cn.ngine.EngineConfig;
import cn.ngine.EngineFileType;
import cn.ngine.EngineTemplateType;
import cn.ngine.EngineTemplateType;
import cn.xecute.DocumentationExecute;
import cn.process.ProcessConfig;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.st.context.SpringBootTest;
import t.ApplicationContext;
import javax.sql.DataSource;
import java.util.ArrayList;
@SpringBootTest
class DbdocApplicationTests {
@Autowired
ApplicationContext applicationContext;
@Test
void contextLoads(){
//数据源
HikariConfig hikariConfig =new HikariConfig();
hikariConfig.setDriverClassName("sql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/shops?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC");        hikariConfig.setUsername("root");
hikariConfig.setPassword("root");
//设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema","true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource =(DataSource)new HikariDataSource(hikariConfig);
//⽣成配置
EngineConfig engineConfig = EngineConfig.builder()
//⽣成⽂件路径
.fileOutputDir("/doc")
//打开⽬录
.openOutputDir(true)
/
/⽂件类型
.fileType(EngineFileType.HTML)
//⽣成模板实现
.produceType(EngineTemplateType.freemarker)
//⾃定义⽂件名称
.fileName("徐⼤强来了").build();
//忽略表
ArrayList<String> ignoreTableName =new ArrayList<>();
ignoreTableName.add("user");
ignoreTableName.add("user_addr");
//忽略表前缀
ArrayList<String> ignorePrefix =new ArrayList<>();
ignorePrefix.add("tz_");
//忽略表后缀
ArrayList<String> ignoreSuffix =new ArrayList<>();
ignoreSuffix.add("_triggers");
ProcessConfig processConfig = ProcessConfig.builder()
//指定⽣成逻辑、当存在指定表、指定表前缀、指定表后缀时,将⽣成指定表,其余表不⽣成、并跳过忽略表配置
//根据名称指定表⽣成
//                .designatedTableName(new ArrayList<>())
//根据表前缀⽣成
//                .designatedTablePrefix(new ArrayList<>())
//根据表后缀⽣成
//                .designatedTableSuffix(new ArrayList<>())
//忽略表名
.ignoreTableName(ignoreTableName)
//忽略表前缀
.ignoreTablePrefix(ignorePrefix)
//忽略表后缀
.ignoreTableSuffix(ignoreSuffix).build();
//配置
Configuration config = Configuration.builder()
//版本
.
version("1.0.0")
//描述
.description("数据库设计⽂档⽣成")
//数据源
.dataSource((javax.sql.DataSource) dataSource)
//⽣成配置
.engineConfig(engineConfig)
//⽣成配置
.produceConfig(processConfig)
.build();
//执⾏⽣成
new DocumentationExecute(config).execute();
}
}
如果还是不⾏的话
关注我的(菜鸟徐哈哈), (关注后回复: ⽣成数据库⽂档), 获取此demo

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。