数据库表构造文档生成对象 screw

LGPL
Java
跨平台
2020-06-22
平常故事

在企业级开辟中、我们常常会有编写数据库表构造文档的时间付出,从业以来,待过几家企业,关于数据库表构造文档状况:要么没有、要么有、但都是手写、前期运维开辟,须要手动停止保护到文档中,很是繁琐、假设忘记一次保护、就会给今后任务形成很多困扰、有形中制造了很多坑留给本身和先人,因而萌生了要本身写一个插件对象的想法主意,但由于本身前期在法式榜样设计上没有很多成就,且才能偏低,有想法主意其实不克不及很好完成,随着任务经历的增长,和知识的赓续储备,终究在2020年的3月中旬开端停止编写,4月上旬完成初版,想完美差不多在开源,但由于任务太忙,专业时间缺乏,没有在停止完美,到了6月份由于任务缘由、频繁设计和更改数据库、常常应用本身写的此插件、节俭了很多时间,处理了很多成绩 ,在唯一且不多的专业时间中、停止开源预备,于2020年6月22日,开源,迎接大年夜家应用、建议、并供献。 

关于名字,想一个太难了,好在我这个聪慧的小脑瓜灵感一现,怎样凹陷它的小,但重要呢?从小就学过雷锋的螺丝钉精力,摘自雷锋日记:固然是渺小的螺丝钉,是个纤细的小齿轮,但是假设缺了它,那全部的机械就没法运转了,慢说是缺了它,即使是一枚小螺丝钉没拧紧,一个小齿轮略有破损,也要使机械的运转产生毛病的...,感到本身写的这个对象,很有这意味,固然很小、然则开辟中缺了它还不可,因而便起名为 screw(螺丝钉)。

特点

  • 简洁、轻量、设计优胜
  • 多半据库支撑
  • 多种格局文档
  • 灵活扩大
  • 支撑自定义模板

数据库支撑

  • MySQL

  • MariaDB

  • TIDB

  • Oracle

  • SqlServer

  • PostgreSQL

  • Phoenix HBase

  • CacheDB

  • H2

  • DB2

  • HSQL

  • SQLLte

  • 瀚高

  • 达梦

  • 虚谷

  • 人大年夜金仓

文档生成支撑

  • html

  • word

  • markdown

应用方法

浅显方法

  • 引入依附

    <dependency>
        <groupId>cn.smallbun.screw</groupId>
        <artifactId>screw-core</artifactId>
        <version>${lastVersion}</version>
    </dependency>
    
  • 编写代码

/**
 * 文档生成
 */
void documentGeneration() {
   //数据源
   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).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()
         //忽视表名
         .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();
}

Maven 插件

<build>
    <plugins>
        <plugin>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-maven-plugin</artifactId>
            <version>${lastVersion}</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>
                <!--描述-->
                <description>数据库文档生成</description>
                <!--版本-->
                <version>${project.version}</version>
                <!--标题-->
                <title>数据库文档</title>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

参与供献

恳请的欲望有兴趣的同窗可以或许参与到screw扶植中来,让我们合营完美它,让我们合营生长,赞助更多开辟者,处理更多的成绩。

项目版权

license

的码云指数为
逾越 的项目
加载中
此软件有 7 条评论,请先登录后再检查。

screw 1.0.2 发布啦,简洁好用的数据库表构造文档生成对象

Hi,亲爱的广大年夜开辟者同伙们,很高兴,screw 1.0.2 发布啦, 在企业级开辟中、我们常常会有编写数据库表构造文档的时间付出,繁琐费事且轻易掉足,不过有了screw,你只须要在项目中停止集成,...

明天 07:17

screw 1.0.1 发布啦,简洁好用的数据库表构造文档生成对象

Hi,亲爱的广大年夜开辟者同伙们,很高兴,screw 1.0.1 发布啦, 在企业级开辟中、我们常常会有编写数据库表构造文档的时间付出,繁琐费事且轻易掉足,不过有了screw,你只须要在项目中停止集成,...

06/27 21:59

screw 1.0.0 正式发布啦,简洁好用的数据库表构造文档生成对象

Hi,亲爱的广大年夜开辟者同伙们,很高兴,screw 1.0.0 正式发布啦, 在企业级开辟中、我们常常会有编写数据库表构造文档的时间付出,繁琐费事且轻易掉足,不过有了screw,你只须要在项目中停止集...

06/22 10:43

没有更多内容

加载掉败,请刷新页面

没有更多内容

暂无问答

php screw加密

Download http://sourceforge.net/projects/php-screw/ Installation(参照紧缩包内README.en) (1) Unpack php\_screw-1.5.tgz. (2) Customize encryption / decryption vi my\_screw.h c...

2016/02/18 16:21
141
1
php_screw装置,应用

装置步调: 1. 下载源码: wget http://nchc.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz 2. 解紧缩: tar zxvf php_screw-1.5.tar.gz 3. 经过过程README.en文件可...

2018/12/10 18:32
30
0
php screw加密与破解

一、破解对象之php-screw-brute 1、项目地址   https://github.com/securifybv/php-screw-brute 2、项目简介   此脚本可以恢复/爆破php screw应用的密钥。PHP Screw应用紧缩文件的长度来...

2019/07/30 10:25
31
0
twin screw extruders machine

In contempo years, mid- and small-size biotechnology companies are developing at a accelerated pace. There are added than 1,000 such entities civic at present, and added than 30...

2012/07/05 11:30
18
0
top single screw extruder manufacturers

One of the apartment segments serves as a degassing apartment articulation for degassing the artificial actual and it is affiliated to a degassing chamber.plastic machinery manu...

2012/07/16 11:34
47
0
php代码安然之php screw_plus

https://github.com/del-xiong/screw-plus http://git.oschina.net/splot/php-screw-plus screw plus是一个开源的php扩大,感化是对php文件停止加密,搜集上供给php加密的办事很多,但大年夜多都...

2019/10/08 13:34
670
0
screw-plus完成php代码安然

1.下载screw-plus装置包 git clone https://git.oschina.net/splot/php-screw-plus.git mv php-screw-plus /usr/local/src/ 2.php添加php-screw-plus模块,在编译之前可以在php_screw_plus....

2019/03/31 15:53
28
0
co-rotating twin screw extruder manufacturer

Nowadays the capital operation of WPC is accompanying spiral extruder, because it delivers abstracts relying on the assumption of absolute displacement and accepting no burden a...

2012/07/16 11:30
29
0
用php_screw加密php源代码

http://www.jb51.net/article/38816.htm

2014/06/02 14:19
297
0

没有更多内容

加载掉败,请刷新页面

前往顶部
顶部