Springboot2.X + screw数据库快速开发文档(74)

原创
07/08 21:49
阅读数 2.5W

1、pom依赖

创建springboot项目,勾选依赖

添加screw需要的依赖,检查是否最新版本,链接地址->最新版本

<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>

2、测试类

下面填写自己的mysql账号密码

spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.xa.properties.useInformationSchema=true

3、生成文档测试类

/Users/mac/Desktop 这个是自己电脑的路径,我的是mac,windows需要更换路径

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.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;

import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@SpringBootTest
class ScrewApplicationTests {

   @Autowired
   ApplicationContext applicationContext;

   @Test
   void contextLoads() {
      DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);

      // 生成文件配置
      EngineConfig engineConfig = EngineConfig.builder()
            // 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
            .fileOutputDir("/Users/mac/Desktop")
            // 打开目录
            .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();
   }
}

4、启动

点击test启动,运行结果,如下

很方便的结合公司的业务需求来使用。

5、链接

文档工具screw:https://gitee.com/leshalv/screw

展开阅读全文
打赏
2
3 收藏
分享
加载中
ApplicationContext applicationContext 注入空指针是什么原因
10/20 15:48
回复
举报
木九天博主
有springbootTest注解么
10/20 15:51
回复
举报
有啊
10/20 15:56
回复
举报
木九天博主
不应该吧,springboot有web依赖吗
10/20 16:06
回复
举报
有啊spring-boot-starter-web引入了的,我只不过改成oracle版本了,maven插件是可以生成的,代码却有这个问题
10/20 16:19
回复
举报
datasource用的是type: com.alibaba.druid.pool.DruidDataSource ,就不行
09/07 10:46
回复
举报
木九天博主
这个没有测试过,可能不支持吧
10/20 15:51
回复
举报
有报错:java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariDataSource

这里是不是限定死了?
//获取数据库URL 用于判断数据库类型
HikariDataSource hikariDataSource = (HikariDataSource) this.getDataSource();
String url = hikariDataSource.getJdbcUrl();
09/07 10:16
回复
举报
木九天博主
HK你没有引入对应的依赖吧,如果用hk的话
09/07 10:47
回复
举报
表名的注释能生成吗
07/28 09:18
回复
举报
木九天博主
可以
07/28 09:37
回复
举报
木九天博主
spring.datasource.xa.properties.useInformationSchema=true 在配置文件加上这一句配置就好了,也是mysql 的,博客已经更新
07/29 15:28
回复
举报
谢谢
08/01 12:05
回复
举报
更多评论
打赏
13 评论
3 收藏
2
分享
返回顶部
顶部