还在手动写数据库文档吗?试试这个工具,划水干活儿两不误!
发布于: 2021 年 01 月 08 日

一、 简介
在开发过程中,我们经常因为各种原因需要写数据库文档。照开发人员的角度来说,一个 Navicat 就解决了,但是不懂技术的人员,你跟他说再多也是无用,还得老老实实写文档。但是敏捷开始期间,需求随时变动,表结构也是没有个固定的,改代码时间都不够,哪有时间慢慢去修改数据库文档呢?为了不留坑给自己和其他人,还能让大家开开心心的合作,可以使用 screw 工具来自动生成文档,数据库文档这块就可以彻底放心了。
二、screw 特点
简洁、轻量、设计良好。不需要不需要 powerdesigner 这种重量的建模工具。
多数据库支持 。支持市面常见的数据库类型 MySQL、Oracle、SqlServer
多种格式文档。支持 MD、HTML、WORD 格式
灵活扩展。支持用户自定义模板和展示样式
三、支持的数据库类型
[√] MySQL
[√] mariaDB
[√] TIDB
[√] Oracle
[√] SqlServer
[√] PostgreSQL
[√] Cache DB
四、实例
1、添加依赖
这里以 MySQL8 数据库为例
<dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.3</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>复制代码
2、通过自定义代码配置文档生成
@Testpublic void DataBaseDocumentAutomation() { //数据源 HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver"); hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test"); hikariConfig.setUsername("点赞"); hikariConfig.setPassword("转发"); //设置可以获取tables remarks信息 hikariConfig.addDataSourceProperty("useInformationSchema", "true"); hikariConfig.setMinimumIdle(2); hikariConfig.setMaximumPoolSize(5); DataSource dataSource = new HikariDataSource(hikariConfig); //生成配置 EngineConfig engineConfig = EngineConfig.builder() //生成文件路径 .fileOutputDir("/Users/guest") //打开目录 .openOutputDir(true) //文件类型 .fileType(EngineFileType.HTML) //生成模板实现 .produceType(EngineTemplateType.freemarker).build();
//忽略表 ArrayList<String> ignoreTableName = new ArrayList<>(); ignoreTableName.add("user"); ignoreTableName.add("group"); //忽略表前缀 ArrayList<String> ignorePrefix = new ArrayList<>(); ignorePrefix.add("test_index"); //忽略表后缀 ArrayList<String> ignoreSuffix = new ArrayList<>(); ignoreSuffix.add("_xxx"); 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();}复制代码
3、通过插件的形式生成文档
<build> <plugins> <plugin> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-maven-plugin</artifactId> <version>1.0.2</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>com.mysql.cj.jdbc.Driver</driverClassName> <!--jdbc url--> <jdbcUrl>jdbc:mysql://127.0.0.1:3306/test</jdbcUrl> <!--生成文件类型--> <fileType>HTML</fileType> <!--文件输出目录--> <fileOutputDir>/Users/guest</fileOutputDir> <!--打开文件输出目录--> <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 自动生成数据库文档已完成,节省出来的时间划水他不香吗?
看到这里了,点个赞,转个发不行吗? 嘿嘿!
关注个人公众号“服务端技术精选”,还有更多好玩的等你哟!
划线
评论
复制
发布于: 2021 年 01 月 08 日阅读数: 31
我爱娃哈哈😍
关注
做一个有思想的搬运工 2019.03.10 加入
公众号:服务端技术精选 欢迎大家关注!











评论