wsdl文档中的soap:address的生成规则_BAT大牛都在使用的数据库文档生成插件,不来看一下?...

一、概述

在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后面接手的人。之前有一段时间开发了一个项目,是那种开发完后后期补充文档的。写数据库文档的时候特别恶心,需要对着数据库中的表和表字段。当表特别多的时候,眼睛都会看花。不知道大家是否有过这种经历,我当时是采取笨方法一个表一个字段写的,恶心坏了。最近在github上发现了一个数据库文档插件,挺不错的,介绍给大家,住大家脱离数据库文档编写的苦海。

二、插件介绍

  1. screw自动生成数据库文档
  2. 支持多种格式文档:html、word和markdown
  3. 支持多种类型的数据库:MySQL、MariaDB、TIDB、Oracle、SqlServer、PostgreSQL和Cache DB

三、插件运用

  1. 在数据库中新建表格(没有具体含义,纯粹是为了演示)
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for account_type
-- ----------------------------
DROP TABLE IF EXISTS `account_type`;
CREATE TABLE `account_type` (
  `id` tinyint unsigned NOT NULL COMMENT '主账号 0, 附属账号 1',
  `type` varchar(50) DEFAULT '主账号',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='账户类型字典表';

-- ----------------------------
-- Table structure for iap_order
-- ----------------------------
DROP TABLE IF EXISTS `iap_order`;
CREATE TABLE `iap_order` (
  `transaction_id` varchar(200) NOT NULL COMMENT '交易方式',
  `principal_id` bigint unsigned DEFAULT NULL COMMENT 'userId可能为null',
  `product_id` bigint unsigned DEFAULT NULL COMMENT 'product id',
  `apple_id` bigint unsigned DEFAULT NULL COMMENT 'apple id',
  `receipt_data` longtext COMMENT '完整的receipt',
  `platform` varchar(20) DEFAULT NULL COMMENT '平台',
  `status` tinyint unsigned DEFAULT '0' COMMENT '订单状态 ',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`transaction_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='IAP订单';

-- ----------------------------
-- Table structure for points_rule
-- ----------------------------
DROP TABLE IF EXISTS `points_rule`;
CREATE TABLE `points_rule` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '规则id',
  `member_level` int DEFAULT NULL COMMENT '用户规则适用等级',
  `daily_video_view_points` int DEFAULT NULL COMMENT '每日观看视频积分',
  `daily_article_view_points` int DEFAULT NULL COMMENT '每日阅读文章积分',
  `daily_video_share_points` int DEFAULT NULL COMMENT '每日分享视频积分',
  `daily_article_share_points` int DEFAULT NULL COMMENT '每日分享文章积分',
  `daily_comment_post_points` int DEFAULT NULL COMMENT '每日评论积分',
  `daily_login_points` int DEFAULT NULL COMMENT '每日登陆积分',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='积分规则';
  1. 在项目中引入插件(可以直接复制过去,开箱即用)
<plugin>
                <groupId>cn.smallbun.screwgroupId>
                <artifactId>screw-maven-pluginartifactId>
                <version>1.0.4version>
                <dependencies>
                    
                    <dependency>
                        <groupId>com.zaxxergroupId>
                        <artifactId>HikariCPartifactId>
                        <version>3.4.5version>
                    dependency>
                    
                    <dependency>
                        <groupId>mysqlgroupId>
                        <artifactId>mysql-connector-javaartifactId>
                        <version>8.0.20version>
                    dependency>
                dependencies>
                <configuration>
                    
                    <username>rootusername>
                    
                    <password>123456password>
                    
                    <driverClassName>com.mysql.cj.jdbc.DriverdriverClassName>
                    
                    <jdbcUrl>jdbc:mysql://192.168.1.7:3306/db?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=truejdbcUrl>
                    
                    <fileType>HTMLfileType>
                    
                    <openOutputDir>falseopenOutputDir>
                    
                    <produceType>freemarkerproduceType>
                    
                    <fileName>db数据库表说明文档fileName>
                    
                    <description>表和字段说明description>
                    
                    <version>1.0.0.0version>
                    
                    <title>数据库文档title>
                configuration>
                <executions>
                    <execution>
                        <phase>compilephase>
                        <goals>
                            <goal>rungoal>
                        goals>
                    execution>
                executions>
            plugin>
  1. 调用screw插件
8607234b7d86c5215a5ae70c4b653817.png
  1. 结果演示

文档生成地址:根目录下doc文件下f959f285e201bf009cc2958c572efeb8.png

html数据库文档演示:9eb9733351a924fa1b964cfb6d59fbbd.png怎么样,是不是眼前一亮,简直和我们日常写的数据库文档一样,你是不是也手痒痒了,来试一下吧!可以节省很多数据库文档编写和维护时间。

四、总结

这个插件使用起来特别方便,开箱即用。但是在创建表格的时候,需要对每个字段和表做好描述。不然输出的数据库文档可能就不能满足我们的使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值