⚡ 拆箱即用的数据库文档工具,自动将SpringBoot项目中的所有数据源文档可视化,同时监控数据库相关的信息,如主从状态,配置等 ⚡ 你可以将其直接引入你的SpringBoot工程,来直接展示当前项目的数据源,也可以参考 showdb-test 工程,对所有需要展示的数据源进行统一管理,形成一个公司内部的统一的文档
在使用 screw 的时候,需要配置数据源的连接信息,然后才会生成一个基于当前数据源的表结构文档🤪
但是这个文档它是不可变的,且每次数据库修改了表结构,这个文档就得重新生成,何况,如果是多数据源,难道就需要生成多个文档嘛💐,那么这就太麻烦了,在实际开发过程中,迭代快的情况下往往就需要经常重新生成文档,这对于懒人来说是件很麻烦的事情
那么咱就大漏特漏😵,现如今微服务基本都会连接上数据源🍎,所以如果能够对SpringBoot项目中已经存在的数据源/多数据源,自动生成文档,那么会更迎合Javaer/Springer的使用习惯,就像swagger一样,拆箱即用,且支持用户的一些个性化的自定义配置🎠,同时也可以对数据源进行一些信息的监控,如比较关心的主从状态,客户端连接,一些数据库的配置信息等等,这些也都能集成进来,使其更符合ShowDB的名字 🐥
稳定版☕ 地址戳这儿
<dependency>
<groupId>cn.cocowwy</groupId>
<artifactId>showdb-spring-boot-starter</artifactId>
<version>1.1.3</version>
</dependency>
如果要食用最新的快照版本(还在测试使用的功能),使用如下依赖🍔 注意,快照版的使用,需要带上下面的参数,因为默认是不会走 snapshots 的
<dependency>
<groupId>cn.cocowwy</groupId>
<artifactId>showdb-spring-boot-starter</artifactId>
<version>1.1.4-SNAPSHOT</version>
</dependency>
<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
customize:
creator: Cocowwy
img: https://avatars.githubusercontent.com/u/63331147?s=400&u=d12524532cc111c9ec069f1aa754e702289a587c&v=4
email: [email protected]
desc: 数据源可视化工具ShowDB,自动监控SpringBoot项目已存在数据源,自动生成数据库文档,MyBatis代码,及数据源监控信息等
plugin:
generate: true
/db
,即可自动生成当前项目里的所有数据源文档页面server.servlet.context-path
的配置为xxx
,那么showdb的访问页面为:/xxx/db
/showdb
,所以如果项目对请求路径做了限制,需要手动放开面带有db
和showdb
的接口的限制
如果是多数据源如何接入?
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 createDataSource1() {
return DruidDataSourceBuilder.create().build();
}
/**
* 数据源2配置
*/
@Bean(name = "oms", destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource.oms")
public DruidDataSource createDataSource2() {
return DruidDataSourceBuilder.create().build();
}
/**
* 数据源3配置
*/
@Bean(name = "pms", destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource.pms")
public DruidDataSource createDataSource3() {
return DruidDataSourceBuilder.create().build();
}
环境 | 版本号 |
---|---|
JDK | 1.8+ |
SpringBoot | 2.3.9.RELEASE+ |
plugin | 说明 |
---|---|
* | 所有 |
generate | 代码生成器(当前仅支持MyBatis) |
数据源 | 是否支持 |
---|---|
MySQL | 支持 |
包名 | 说明 |
---|---|
showdb-core | 核心逻辑处理等 |
showdb-spring-boot-autoconfigure | ShowDB的自动配置 |
showdb-spring-boot-starter | 引入starter即可开启 |
showdb-test | 测试模块,内含多数据源demo,测试sql等,quickstart戳这儿~ |
showdb-front | 前端资源 |
如果你有更好的意见,欢迎关注我公众号给我留言~ 如果你有更好的想法或者想添加,修复bug,欢迎PR~
[]