一键导入
druid-xugudb-adapter
Druid 连接池适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 Druid 的数据库连接池配置或适配到虚谷数据库时使用此技能,包括依赖配置、连接池配置、监控配置、WallFilter 配置、多数据源配置等。适用于从 MySQL/Oracle 迁移或新建虚谷数据库项目。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Druid 连接池适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 Druid 的数据库连接池配置或适配到虚谷数据库时使用此技能,包括依赖配置、连接池配置、监控配置、WallFilter 配置、多数据源配置等。适用于从 MySQL/Oracle 迁移或新建虚谷数据库项目。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Activiti 工作流引擎与虚谷数据库(XuguDB)集成适配指南。当用户需要在 Spring Boot 项目中使用 Activiti 工作流引擎连接 XuguDB 时使用此技能,包括流程引擎配置、数据源设置、BPMN 流程定义、任务管理、历史记录查询等。适用于企业级工作流应用、审批流程、业务流程自动化等场景。
AnyLine 动态数据源框架适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 AnyLine 的 Java 项目配置或适配到虚谷数据库时使用此技能,包括动态数据源注册、切换、元数据操作、DDL/DML 自动生成等。适用于数据中台、低代码平台、异构数据库迁移等场景。
Azkaban 工作流管理器适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 Azkaban 的工作流管理器配置或适配到虚谷数据库时使用此技能,包括安装部署、数据库配置、工作流定义、任务调度、监控管理等。适用于大数据作业调度和管理场景。
Camunda BPM 平台适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 Camunda 的工作流和决策自动化平台配置或适配到虚谷数据库时使用此技能,包括安装部署、数据库配置、BPMN 流程定义、任务管理、REST API、UI 管理界面等。适用于企业级工作流应用、审批流程、业务流程自动化、案例管理等场景。
CloudBeaver 云数据库管理器适配虚谷数据库(XuguDB)的完整指南。当用户需要使用 CloudBeaver 连接和管理虚谷数据库时使用此技能,包括部署安装、驱动配置、连接管理、用户权限等。适用于团队协作、远程数据库管理场景。
DataEase 开源 BI 工具适配虚谷数据库(XuguDB)的完整指南。当用户需要将 DataEase 连接到虚谷数据库进行数据可视化分析时使用此技能,包括驱动配置、数据源连接、数据集创建、仪表板设计等。适用于企业数据可视化、自助分析、报表分享等场景。
| name | druid-xugudb-adapter |
| description | Druid 连接池适配虚谷数据库(XuguDB)的完整指南。当用户需要将基于 Druid 的数据库连接池配置或适配到虚谷数据库时使用此技能,包括依赖配置、连接池配置、监控配置、WallFilter 配置、多数据源配置等。适用于从 MySQL/Oracle 迁移或新建虚谷数据库项目。 |
本技能提供 Druid 连接池适配虚谷数据库(XuguDB)的完整流程。Druid 是阿里巴巴开源的高性能数据库连接池和 SQL 解析器,通过适配虚谷数据库,可以实现连接池管理、SQL 监控、安全防护等功能。
在开始适配前,按以下顺序检查和修改:
1. 依赖配置 → 2. 连接池配置 → 3. 监控配置 → 4. WallFilter 配置 → 5. 功能验证 → 6. 性能优化
重要: 必须使用虚谷官方提供的适配版 Druid,而非阿里云原版。
xugu-druid-1.1.24)的源码mvn install:install-file -Dfile=./lib/druid-1.1.24.jar -DgroupId=com.alibaba -DartifactId=druid -Dversion=1.1.24 -Dpackaging=jar -DgeneratePom=true
<!-- Druid 连接池(虚谷适配版) -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.24</version>
</dependency>
<!-- 虚谷JDBC驱动 -->
<dependency>
<groupId>com.xugudb</groupId>
<artifactId>xugu-jdbc</artifactId>
<version>12.3.4</version>
</dependency>
spring:
datasource:
url: jdbc:xugu://127.0.0.1:5135/system?char_set=UTF8
username: SYSDBA
password: SYSDBA
driver-class-name: com.xugu.cloudjdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
druid:
# ===== 连接池核心配置 =====
initialSize: 5 # 初始化连接数
minIdle: 10 # 最小空闲连接数
maxActive: 20 # 最大活跃连接数
maxWait: 6000 # 获取连接最大等待时间(毫秒)
time-between-eviction-runs-millis: 2000 # 空闲连接检测间隔(毫秒)
min-evictable-idle-time-millis: 600000 # 连接最小空闲时间(毫秒)
max-evictable-idle-time-millis: 1800000 # 连接最大空闲时间(毫秒)
validationQuery: SELECT 1 # 连接有效性验证SQL
testWhileIdle: true # 空闲时是否检测
testOnBorrow: false # 借出时是否检测(影响性能)
testOnReturn: false # 归还时是否检测(影响性能)
keep-alive: true # 保持连接活性
poolPreparedStatements: false # 是否缓存PreparedStatement
maxPoolPreparedStatementPerConnectionSize: 0 # 每个连接缓存的PS数量
关键配置说明:
char_set=UTF8:字符集配置validationQuery: SELECT 1:虚谷数据库使用 SELECT 1 而不是 SELECT 1 FROM DUALtestOnBorrow: false:建议关闭借出时检测,提高性能spring:
datasource:
druid:
filters: wall,stat,log4j2 # 启用Wall(防SQL注入)、Stat(监控统计)、Log4j2(日志)过滤器
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000 # 合并SQL、慢SQL阈值
spring:
datasource:
druid:
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: /druid/*,*.js,*.css,*.gif,*.jpg,*.bmp,*.png,*.ico
stat-view-servlet:
enabled: true
url-pattern: /druid/* # 监控页面访问路径
reset-enable: false # 禁用重置按钮
# login-username: admin # 可选的登录用户名
# login-password: 123456 # 可选的登录密码
监控页面访问: 启动应用后,访问 http://localhost:8080/druid/ 即可查看监控页面。
spring:
datasource:
druid:
filter:
wall:
enabled: true
config:
# 关键:允许虚谷特定的SQL语句
backup-allow: true # 允许 BACKUP 语句
restore-allow: true # 允许 RESTORE 语句
# strictSyntaxCheck: false # 临时关闭严格语法检查(当遇到无法解析的虚谷特有SQL时)
# none-base-statement-allow: true # 可选:允许非基表语句
WallFilter 配置说明:
backup-allow: true:允许虚谷数据库的 BACKUP 语句restore-allow: true:允许虚谷数据库的 RESTORE 语句strictSyntaxCheck: false:遇到解析错误时临时关闭严格语法检查spring:
datasource:
druid:
# 根据实际负载调整参数
initialSize: 10 # 初始化连接数
minIdle: 20 # 最小空闲连接数
maxActive: 50 # 最大活跃连接数
maxWait: 10000 # 获取连接最大等待时间
time-between-eviction-runs-millis: 60000 # 空闲连接检测间隔
min-evictable-idle-time-millis: 300000 # 连接最小空闲时间
max-evictable-idle-time-millis: 900000 # 连接最大空闲时间
spring:
datasource:
druid:
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 慢SQL阈值调整为5秒
现象: 启动时报错 Driver class not found
原因: JDBC 驱动未正确引入
解决: 确保 xugu-jdbc 依赖已正确配置
现象: 连接时报错 Invalid connection URL
原因: URL 参数错误
解决: 确保使用正确的 URL 格式,并包含 char_set=UTF8
dbType not support : xugu 错误现象: 启动时报错 dbType not support : xugu
原因: 使用了未适配的原版 Druid 且开启了 WallFilter
解决:
filters 中移除 wall)ParserException现象: 执行 SQL 时报错 ParserException
原因: WallFilter 无法解析虚谷特有 SQL
解决:
strictSyntaxCheck: falsesql injection violation现象: 执行 SQL 时报错 sql injection violation
原因: SQL 被识别为有风险
解决:
config 项,为所需的虚谷语句设置允许(xxx-allow: true)现象: 连接超时
原因: Druid v1.2.12+ 默认设置了 10 秒超时,可能覆盖 URL 参数
解决:
connect-timeout 和 socket-timeout现象: 访问 /druid/ 路径返回 404
原因: 监控页面配置不正确
解决:
stat-view-servlet.enabled 设置为 trueurl-pattern 配置是否正确详细的配置指南和故障排除请参考: