• 生成数据库设计文档


    一:工具

    screw

    二:使用

    <dependency>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-core</artifactId>
            <version>1.0.3</version>
          </dependency>
    package com.xkcoding.orm.mybatis.plus.screw;
    
    import com.xkcoding.orm.mybatis.plus.SpringBootDemoOrmMybatisPlusApplicationTests;
    import lombok.extern.slf4j.Slf4j;
    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.junit.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ApplicationContext;
    
    import javax.sql.DataSource;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    @Slf4j
    public class ScrewApplicationTests extends SpringBootDemoOrmMybatisPlusApplicationTests {
        @Autowired
        ApplicationContext applicationContext;
    
        @Test
        public void contextLoads() {
            DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);
    
            // 生成文件配置
            EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
                .fileOutputDir("D:/")
                // 打开目录
                .openOutputDir(false)
                // 文件类型
                .fileType(EngineFileType.HTML)
                // 生成模板实现
                .produceType(EngineTemplateType.freemarker).build();
    
            // 生成文档配置(包含以下自定义版本号、描述等配置连接)
            Configuration config = Configuration.builder()
                .version("1.0.3")
                .description("生成文档信息描述")
                .dataSource(dataSourceMysql)
                .engineConfig(engineConfig)
                .produceConfig(getProcessConfig())
                .build();
    
            // 执行生成
            new DocumentationExecute(config).execute();
        }
    
    
        /**
         * 配置想要生成的表+ 配置想要忽略的表
         * @return 生成表配置
         */
        public static ProcessConfig getProcessConfig(){
            // 忽略表名
            List<String> ignoreTableName = Arrays.asList("aa","test_group");
            // 忽略表前缀,如忽略a开头的数据库表
            List<String> ignorePrefix = Arrays.asList("a","t");
            // 忽略表后缀
            List<String> ignoreSuffix = Arrays.asList("_test","czb_");
    
            return ProcessConfig.builder()
                //根据名称指定表生成
                .designatedTableName(new ArrayList<>())
                //根据表前缀生成
                .designatedTablePrefix(new ArrayList<>())
                //根据表后缀生成
                .designatedTableSuffix(new ArrayList<>())
                //忽略表名
                .ignoreTableName(ignoreTableName)
                //忽略表前缀
                .ignoreTablePrefix(ignorePrefix)
                //忽略表后缀
                .ignoreTableSuffix(ignoreSuffix).build();
        }
    }
    package com.xkcoding.orm.mybatis.plus;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SpringBootDemoOrmMybatisPlusApplicationTests {
    
        @Test
        public void contextLoads() {
        }
    
    }
  • 相关阅读:
    Eureka的工作原理以及它与ZooKeeper的区别
    利用javascript判断文件是否存在
    带jsk证书,请求https接口
    C# .net 数组倒序排序
    C#中ArrayList和string,string[]数组的转换
    C#中遍历ArrayList的三种方法
    求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID
    启动tomcat时,一直卡在Deploying web application directory这块的解决方案
    Linux下修改Mysql的用(root的密码及修改root登录权限
    启动MySql提示:The server quit without updating PID file(…)失败
  • 原文地址:https://www.cnblogs.com/bulrush/p/13447331.html
Copyright © 2020-2023  润新知