首页 > 数据库 >领导临时要数据库文档怎么办?

领导临时要数据库文档怎么办?

时间:2023-10-06 15:44:05浏览次数:50  
标签:core cn screw 数据库 Lists 文档 smallbun import 怎么办

很多时候,我们为了着急忙慌赶项目进度,很容易忽略整理文档这件事

某一天,领导心血来潮,要搞一次突击检查, 想看看我们的数据库设计的是否规范, 但他又不想亲自去数据库查验(毕竟这么大领导)

那么,我们该怎么办?

第一种方法:离职,世界那么大,我想去看看(我相信一般人不会这么做)

也许你可以试试下面这种方法

此方法大概属于奇技淫巧,建议在工作中多用

基本思路就是通过Java代码自动生成数据库表结构文档

在Java中正好有个包可以实现这个功能

  1. POM文件引入相关包

...
<dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.30</version>
        </dependency>
  <dependency>
      <groupId>cn.smallbun.screw</groupId>
      <artifactId>screw-core</artifactId>
      <version>1.0.3</version>
  </dependency>
  1. 配置数据库
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
    username: root
    password: xxx
    driver-class-name: com.mysql.cj.jdbc.Driver
  1. 编写转换代码

package com.example.createdoc;

import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import org.assertj.core.util.Lists;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import javax.sql.DataSource;

/**
 * <h1>数据库表文档生成</h1>
 * */
@SpringBootTest
@RunWith(SpringRunner.class)
public class Table2DocTest {

    @Resource
    private DataSource dataSource;

    @Test
    public void buildDBDoc() {

        EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径
                .fileOutputDir("D:\\temp")
                .openOutputDir(false)
                // 文件类型 支持 world,html, md
                .fileType(EngineFileType.WORD)
                .produceType(EngineTemplateType.freemarker).build();

        // 生成文档配置, 包含自定义版本号、描述等等
        Configuration config = Configuration.builder()
                .version("1.0.0")
                .description("瞎编数据库")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(
                    // 表的生成规则和忽略规则在这里配置
                     ProcessConfig.builder()
                            .designatedTableName(Lists.newArrayList())
                            .designatedTablePrefix(Lists.newArrayList())
                            .designatedTableSuffix(Lists.newArrayList())
                            .ignoreTableName(Lists.newArrayList())
                            .ignoreTablePrefix(Lists.newArrayList())
                            .ignoreTableSuffix(Lists.newArrayList())
                            .build()
                ).build();

        // 执行生成
        new DocumentationExecute(config).execute();
    }

    
}

我们用的这个组件 screw 可以实现生成doc、md、html类型的文档,生成的目录在代码中可配置

就这样,该下班下班,该下课下课

标签:core,cn,screw,数据库,Lists,文档,smallbun,import,怎么办
From: https://www.cnblogs.com/haloujava/p/17744632.html

相关文章

  • 利用CMD窗口查看app数据库的内容
    利用CMD窗口查看app数据库的内容一般app的数据存储都在/data/data/目录下adbshell-xcddata/data/ls(查看相关文件夹内容)cdcom.xxx.xxxxxx(一般都是app的包名)sqlite3BT.db(数据库名字)利用sql语法查看数据库表中的内容,例如:select*fromstudent;......
  • 使用BCryptPasswordEncoder类实现数据库密码的加密---简单极了的那种
    1、存储加密的密码,实现数据库加密的操作BCryptPasswordEncoderbCryptPasswordEncoder=newBCryptPasswordEncoder();Stringencode=bCryptPasswordEncoder.encode(password);Useruser=newUser();user.setPassword(encode);2、读取比对数据库信息......
  • Redis数据库
    Redis数据库SQL数据库缺陷常见NoSQL数据库Redis特点速度极快Redis的所有数据都是存放在内存中,这是Redis速度快的最主要原因Redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统更近,执行速度相对会更快Redis使用了单线程架构,预防了多线程可能产生的线程切换和竞......
  • 【鱼授之以渔】如何安装和配置MySQL数据库?
    鱼弦:内容合伙人、新星导师、全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)如何安装和配置MySQL数据库?以下是安装和配置MySQL数据库的一般步骤:下载MySQL:访问MySQL官方网站,下载适用于您的操作......
  • 基于python的食力派网上订餐系统-计算机毕业设计源码+LW文档
    摘 要在各学校的教学过程中,食力派网上订餐系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的食力派网上订餐系统,这样可以有效地解决食力派网上订餐管理......
  • 数据库备份和Shell基础测试及AWK(运维)
    第一题:简述一下如何用mysql命令进行备份和恢复,请以test库为例,创建一个备份,并再用此备份恢复备份备份步骤:备份test库:使用mysqldump命令备份test库,并将备份写入一个.sql文件中。命令示例:mysqldump-u用户名-p密码test>backup.sql恢复的步骤:恢复备份:使用mysql命令将备份文件中的......
  • 开源数据库Mysql_DBA运维实战 (DDL语句)
    DDLDDL语句数据库定义语言:数据库、表、视图、索引、存储过程.例如:CREATE DROPALTERDDL库定义库{CREAATEDATABASE  ___数据库名___ ;                数据库名要求{                                        a.......
  • 基于Python的智慧补助系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要在各学校的教学过程中,智慧补助系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的智慧补助系统,这样可以有效地解决智慧补助混乱的局面。本文首先......
  • 基于Django的智慧旅游系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要在各学校的教学过程中,智慧旅游系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的智慧旅游系统,这样可以有效地解决智慧旅游管理信息混乱的局面。......
  • 实现文档AI搜索,提高问题解决效率
    在当今的数字时代,以AI为动力的文档搜索变得越来越重要。随着在线提供信息的指数增长,传统的搜索方法通常效率低下且耗时。实施文档AI搜索可以显著提高搜索相关文档的效率和有效性。|在网站中实施文档AI搜索的好处很多首先,它通过提供无缝且直观的搜索过程来增强用户体验。借助文档AI......