Springboot + screw 数据库快速开发文档

1、方式1

  • 引入依赖
  • <dependency>
        <groupId>cn.smallbun.screw</groupId>
        <artifactId>screw-core</artifactId>
        <version>1.0.5</version>
     </dependency>
  • /**
     * 文档生成
    Springboot2.X + screw数据库快速开发文档(74) - 纯粹而又极致的光--木九天 - OSCHINA - 中文开源技术交流社区
    screw: 简洁好用的数据库表结构文档工具,支持MySQL/MariaDB/SqlServer/Oracle/PostgreSQL/TIDB/CacheDB 数据库。
     */
    public static void main(String[] args) {
       //数据源
       HikariConfig hikariConfig = new HikariConfig();
       hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
       hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/database");
       hikariConfig.setUsername("root");
       hikariConfig.setPassword("password");
       //设置可以获取tables remarks信息
       hikariConfig.addDataSourceProperty("useInformationSchema", "true");
       hikariConfig.setMinimumIdle(2);
       hikariConfig.setMaximumPoolSize(5);
       DataSource dataSource = new HikariDataSource(hikariConfig);
       //生成配置
       EngineConfig engineConfig = EngineConfig.builder()
             //生成文件路径
             .fileOutputDir(fileOutputDir)
             //打开目录
             .openOutputDir(true)
             //文件类型
             .fileType(EngineFileType.HTML)
             //生成模板实现
             .produceType(EngineTemplateType.freemarker)
             //自定义文件名称
             .fileName("自定义文件名称").build();
    
       //忽略表
       ArrayList<String> ignoreTableName = new ArrayList<>();
       ignoreTableName.add("test_user");
       ignoreTableName.add("test_group");
       //忽略表前缀
       ArrayList<String> ignorePrefix = new ArrayList<>();
       ignorePrefix.add("test_");
       //忽略表后缀    
       ArrayList<String> ignoreSuffix = new ArrayList<>();
       ignoreSuffix.add("_test");
       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(dataSource)
             //生成配置
             .engineConfig(engineConfig)
             //生成配置
             .produceConfig(processConfig)
             .build();
       //执行生成
       new DocumentationExecute(config).execute();
    }
  • 方式2
  • maven 插件的方式 (使用mavn 打包方式)
  • mvn clean package
  • <build>
        <plugins>
            <plugin>
                <groupId>cn.smallbun.screw</groupId>
                <artifactId>screw-maven-plugin</artifactId>
                <version>1.0.5</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>password</password>
                    <!--driver-->
                    <driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>
                    <!--jdbc url-->
                    <jdbcUrl>jdbc:mysql://127.0.0.1:3306/xxxx</jdbcUrl>
                    <!--生成文件类型-->
                    <fileType>HTML</fileType>
                    <!--打开文件输出目录-->
                    <openOutputDir>false</openOutputDir>
                    <!--生成模板-->
                    <produceType>freemarker</produceType>
                    <!--文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称-->
                    <fileName>测试文档名称</fileName>
                    <!--描述-->
                    <description>数据库文档生成</description>
                    <!--版本-->
                    <version>${project.version}</version>
                    <!--标题-->
                    <title>数据库文档</title>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值