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怎么样,是不是眼前一亮,简直和我们日常写的数据库文档一样,你是不是也手痒痒了,来试一下吧!可以节省很多数据库文档编写和维护时间。

四、总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修订模式怎么彻底关闭_电脑玩游戏卡顿怎么办?

电脑玩游戏卡怎么办&#xff1f;在玩游戏时电脑卡真的是会气死人的&#xff0c;特别是在打团的时候卡了&#xff0c;想砸电脑有木有&#xff1f;那么电脑玩游戏卡怎么办呢&#xff1f;给大家介绍几个方法&#xff0c;可以尝试改善卡顿。软件方面&#xff1a;1、 开启电源性能模…

datepicker不能选择是为什么_为什么客厅不好看?休闲椅选错了

为什么客厅不好看&#xff1f;休闲椅选错了很多装修完毕的小伙伴们经常有这样一个疑问: 为什么我家的客厅看上去这么凌乱&#xff0c;一点都没有想象中井然有致&#xff1f;这其中的潜在原因有很多&#xff0c;比如沙发墙的装饰设计有误&#xff0c;比如各类家具的款式搭配不对…

如何打开屏幕坏的手机_每天打开手机屏幕20次?打开10次以上的朋友进~

现代社会最很普遍的现象就是不管有没有事&#xff0c;不断地打开手机屏幕看时间或者刷各种信息和段子。 一块小小的屏幕却有着巨大的魅力。明明没有任何事情要干&#xff0c;却还是忍不住诱惑(cant resist temptation [tɛmpˈteʃən])想要打开屏幕&#xff0c;仿佛潘多拉的盒…

mvc 两个控制器session 丢失_用纯 JavaScript 撸一个 MVC 程序

前言我想用 model-view-controller 架构模式在纯 JavaScript 中写一个简单的程序&#xff0c;于是我这样做了。希望它可以帮你理解 MVC&#xff0c;因为当你刚开始接触它时&#xff0c;它是一个难以理解的概念。我做了这个todo应用程序&#xff0c;这是一个简单小巧的浏览器应用…

redis线程阻塞原因排插_每次面试都要被问:为什么采用单线程的Redis也会如此之快?...

众所周知&#xff0c;Redis在内存库数据库领域非常地火热&#xff0c;它极高的性能和丰富的数据结构为我们的开发提供了极大的便利。但我们也听说了&#xff0c;Redis是单线程的&#xff0c;为什么采用单线程的Redis也会如此之快呢&#xff1f;这篇文章我们来分析一下其中的缘由…

审计日志_Oracle审计日志过大?如何清理及关闭审计机制?

概述oracle 11g推出了审计功能&#xff0c;但这个功能会针对很多操作都产生审计文件.aud&#xff0c;日积月累下来这些文件也很多&#xff0c;默认情况下&#xff0c;系统为了节省资源&#xff0c;减少I/0操作&#xff0c;其审计功能是关闭的。这段时间发现审计占了比较多空间&…

servlet如何使用session把用户的手机号修改_SpringBoot源码学习系列之嵌入式Servlet容器...

1、前言简单介绍SpringBoot的自动配置就是SpringBoot的精髓所在&#xff1b;对于SpringBoot项目是不需要配置Tomcat、jetty等等Servlet容器&#xff0c;直接启动application类既可&#xff0c;SpringBoot为什么能做到这么简捷&#xff1f;原因就是使用了内嵌的Servlet容器&…

mybatisplus新增返回主键_第17期:索引设计(主键设计)

表的主键指的针对一张表中的一列或者多列&#xff0c;其结果必须能标识表中每行记录的唯一性。InnoDB 表是索引组织表&#xff0c;主键既是数据也是索引。主键的设计原则1. 对空间占用要小上一篇我们介绍过 InnoDB 主键的存储方式&#xff0c;主键占用空间越小&#xff0c;每个…

mysql 集群与主从_Mysql集群和主从

1、Mysql cluster: share-nothing,分布式节点架构的存储方案&#xff0c;以便于提供容错性和高性能。需要用到mysql cluster安装包&#xff0c;在集群中的每一个机器上安装。有三个关键概念&#xff1a;Sql节点(多个)&#xff0c;数据节点(多个)&#xff0c;管理节点(一个)&…

redis缓存原理与实现_基于Redis实现范围查询的IP库缓存设计方案

点击上方“码农沉思录” 发现更多精彩我先说下结果。我现在还不敢放线上去测&#xff0c;这是本地测的数据&#xff0c;我4g内存的电脑本地开redis&#xff0c;一次都没写完过全部数据&#xff0c;都是写一半后不是redis挂就是测试程序挂。可以肯定的是总记录数是以千万为单位…

mysql原生库_Mysql数据库的一些简单原生sql语句

原生sql语句查询&#xff1a;select * from 表名 &#xff1a;查找表内所有数据&#xff0c; * 代表所有where 具体条件 :where作位查询sql语句条件&#xff0c;例 select * from 表名 where 字段名指定值order by 升降序&#xff1a;与desc和asc使用,通常以int类型字段进行升…

有向图生成树是如何画的_漫画:什么是最小生成树?

作者 | 小灰来源 | 程序员小灰————— 第二天 —————————————————首先看看第一个例子&#xff0c;有下面这样一个带权图&#xff1a;它的最小生成树是什么样子呢&#xff1f;下图绿色加粗的边可以把所有顶点连接起来&#xff0c;又保证了边的权值之和最小&a…

printf 指针地址_c语言对指针的理解

先来讲一下本人学指针的经历&#xff1a;大一的时候刚接触c语言对指针这东西真的是太迷了&#xff0c;感觉麻烦难懂不想其他语言一样。但是搞懂以后就被指针的魅力吸引甚至喜欢上c语言。不多讲&#xff0c;开始&#xff01;(文章可能有些长&#xff0c;但放心全是基础的东西&am…

python 时分秒毫秒_python将时分秒转换成秒的实例

处理数据的时候遇到一个问题&#xff0c;从数据库里导出的数据是时分秒的格式&#xff1a;hh:mm:ss &#xff0c;现在我需要把它转换成秒&#xff0c;方便计算。原数据可能分两种情况&#xff0c;字段有可能是文本字符串类型的&#xff0c;也有可能是时间类型&#xff0c;他们的…

信息系统项目管理师论文优秀范文_软考 信息系统项目管理师备考指南

1&#xff0e;考试简介信息系统项目管理师考试作为全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;一般简称为“软考”&#xff09;的一个高级级别&#xff0c;是从2005年开始的&#xff0c;一共考了2次&#xff0c;即2005年5月&#xff0c;200…

单片机led闪烁代码_单片机驱动LED发光二极管的电路以及编程

一、单片机驱动单个发光二极管1.电路代码:1.点亮单个LED二极管#include《reg51.h> sbit LED1P1^0&#xff1b;void main(void){LED11&#xff1b;while(1)&#xff1b;{LED10} }2.单个LED数码管以固定频率闪烁#include<reg51.h> sbit LED1P1^0;void Delay(unsigned in…

macos系统自动安装mysql_macos系统安装mysql

MacOS系统安装mysql一、下载官网下载链接地址&#xff1a;https://dev.mysql.com/downloads/mysql/二、安装打开文件是pkg包&#xff0c;双击进行安装&#xff1a;按照提示&#xff1a;点击最下面的MySQL控制按钮&#xff0c;启动数据库运行&#xff1a;在此可以启动和停止MySQ…

水晶报表中对某一栏位值进行处理_合并报表——非同一控制下的企业合并amp;同一控制下的企业合并...

【写在前面】长期股权投资企业的一种投资行为&#xff0c;投资方通过该行为享有被投资单位的股利分配、净利润等投资收益&#xff0c;处理的是母公司&#xff08;投资方&#xff09;的个别财务报表。只有控股合并才需要编制合并报表&#xff0c;意味着后续计量采用的是成本法。…

python测试框架untest怎么循环执行_unittest如何在循环遍历一条用例时生成多个测试结果...

引用自:http://blog.csdn.net/kaku21/article/details/42124593参考网址&#xff1a;http://programmaticallyspeaking.com/test-data-provider-using-python-metaclass.html使用TestNG进行测试的时候&#xff0c;允许使用外部数据源来驱动测试方法的执行&#xff0c;举个例子&…

python杨辉三角_yiduobo的每日leetcode 118.杨辉三角 amp;amp; 119.杨辉三角II

祖传的手艺不想丢了&#xff0c;所以按顺序写一个leetcode的题解。计划每日两题&#xff0c;争取不卡题吧。118.杨辉三角https://leetcode-cn.com/problems/pascals-triangle/119.杨辉三角IIhttps://leetcode-cn.com/problems/pascals-triangle-ii/经典的数学题。118题需要求出…