📖ShowDB
🐰简介
拆箱即用的数据库文档工具,就像swagger一样,为你自动生成接口文档,而ShowDB能自动将SpringBoot项目中的所有数据源文档可视化,同时监控数据库相关的信息,如主从状态,配置,代码生成等。
🍺为啥开发这个?
-
在使用 screw 的时候,需要配置数据源的连接信息,然后才会生成一个基于当前数据源的表结构文档🤪
-
但是这个文档它是不可变的,且每次数据库修改了表结构,这个文档就得重新生成,何况,如果是多数据源,难道就需要生成多个文档嘛💐,那么这就 太麻烦了,在实际开发过程中,迭代快的情况下往往就需要经常重新生成文档,这对于懒人来说是件很麻烦的事情
-
那么咱就大漏特漏😵,现如今微服务基本都会连接上数据源🍎,所以如果能够对 SpringBoot项目中已经存在的数据源/多数据源,自动生成文档,那么会更迎合Java-er/Spring-er的使用习惯,就像swagger一样,拆箱即用,且支持用户的一些个性化的自定义配置🎠,同时也可以对数据源进行一些信息的监控,如比较关心的主从状态,客户端连接,一些数据库的配置信息等等,这些也都能集成进来,使其更符合ShowDB的名字 🐥
✋Features
- 1 拆箱即用,引入pom文件,即可使用
- 2 UI界面丰富
- 3 文档可视化,能对数据库表结构一览无余,支持模糊搜索
- 4 支持多数据源,自动对环境中存在的数据源进行监控与文档化
- 5 支持 数据库表结构SQL迁移,数据库表结构文档下载
- 6 支持数据库 主从信息实时监控,数据库配置信息查询,数据库连接信息展示
- 7 支持表 详细信息查询(如数据量大小,索引大小,存储引擎等),表的建表SQL,Java实体类代码生成等
- 8 支持MyBatis代码的代码生成
🧰如何使用??
- 在SpringBoot项目的pom.xml文件中引入依赖
稳定版☕ 地址戳这儿
<dependency>
<groupId>cn.cocowwy</groupId>
<artifactId>showdb-spring-boot-starter</artifactId>
<version>1.1.3</version>
</dependency>
如果要食用最新的快照版本(还在测试使用的功能),使用如下依赖🍔
<dependency>
<groupId>cn.cocowwy</groupId>
<artifactId>showdb-spring-boot-starter</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
注意,快照版的使用,需要带上下面的参数,因为默认是不会走 snapshots 的
<repositories>
<repository>
<id>showdb-snapshots</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
yml配置🔧
showdb:
enable: true
refresh: 500
plugin:
generate: true
- 项目中已经配置好单数据源(多数据源看下面的例子)
- 浏览器中访问该路径:
/db
,即可自动生成当前项目里的所有数据源文档页面(如果你有server.servlet.context-path
前缀,请访问/xxxx/db
)
如果是多数据源如何接入?
- 如何配置呢,可以参考
showdb-test
这个moudle,或者参考下面这块代码(这是本人的例子,多数据源的注入并不一定这么写,环境里只要存在多数据源,就会自动给你配置好)
yml
spring:
application:
name: ShowDB-TEST
datasource:
cms:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://IP:3306/cms?&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username:
password:
oms:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://IP:3306/oms?&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username:
password:
pms:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://IP:3306/pms?&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username:
password:
数据源注入
/** * 数据源1配置 */
@Bean(name = "cms", destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource.cms")
@Primary
public DruidDataSource createDataSource1Source() {
return DruidDataSourceBuilder.create().build();
}
/** * 数据源2配置 */
@Bean(name = "oms", destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource.oms")
public DruidDataSource createDataSource2Source() {
return DruidDataSourceBuilder.create().build();
}
/** * 数据源3配置 */
@Bean(name = "pms", destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource.pms")
public DruidDataSource createDataSource3Source() {
return DruidDataSourceBuilder.create().build();
}
- 如果需要一份多业务库的综合的文档,你可以单独启动一个SpringBoot项目,然后将所有的业务库都注入进这个服务,这样能当做一个唯一的入口来做统一的业务数据库文档
🏷️版本选择
环境 | 版本号 |
---|---|
JDK | 1.8+ |
SpringBoot | 2.3.9.RELEASE+ |
🔧plugin可选值如下:
plugin | 说明 |
---|---|
generate | 代码生成器(当前仅支持MyBatis) |
📄当前支持数据源如下:
数据源 | 是否支持 |
---|---|
MySQL | 支持 |
今天的文章开源数据库文档工具ShowDB,Java开发者的数据库文档利器分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16298.html