[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3918":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},3918,"druid","alibaba\u002Fdruid","alibaba","阿里云计算平台DataWorks(https:\u002F\u002Fhelp.aliyun.com\u002Fdocument_detail\u002F137663.html) 团队出品，为监控而生的数据库连接池","https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Fwiki",null,"Java",28179,8583,1675,2301,0,1,4,7,3,45,"Apache License 2.0",false,"master",true,[],"2026-06-12 02:00:56","# Alibaba Druid\r\n\r\n[![Java CI](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Falibaba\u002Fdruid\u002Fci.yaml?branch=master&logo=github&logoColor=white)](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Factions\u002Fworkflows\u002Fci.yaml)\r\n[![Codecov](https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Falibaba\u002Fdruid\u002Fmaster?logo=codecov&logoColor=white)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falibaba\u002Fdruid\u002Fbranch\u002Fmaster)\r\n[![Maven Central](https:\u002F\u002Fimg.shields.io\u002Fmaven-central\u002Fv\u002Fcom.alibaba\u002Fdruid?logo=apache-maven&logoColor=white)](https:\u002F\u002Fsearch.maven.org\u002Fartifact\u002Fcom.alibaba\u002Fdruid)\r\n[![Last SNAPSHOT](https:\u002F\u002Fimg.shields.io\u002Fnexus\u002Fsnapshots\u002Fhttps\u002Foss.sonatype.org\u002Fcom.alibaba\u002Fdruid?label=latest%20snapshot)](https:\u002F\u002Foss.sonatype.org\u002Fcontent\u002Frepositories\u002Fsnapshots\u002Fcom\u002Falibaba\u002Fdruid\u002F)\r\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Falibaba\u002Fdruid)](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Freleases)\r\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Falibaba\u002Fdruid?color=4D7A97&logo=apache)](https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0.html)\r\n\r\n[English](README_EN.md) | 中文\r\n\r\n---\r\n\r\n**Druid** 是阿里巴巴开源的高性能数据库连接池和 SQL 解析器。它将 JDBC 连接池、SQL 解析分析、安全防护和监控统计深度整合为一体，是 Java 生态中功能最全面的数据库中间件之一。\r\n\r\n## 核心特性\r\n\r\n| 功能领域 | 说明 |\r\n|---------|------|\r\n| **JDBC 连接池** | 高性能、可监控的连接池实现 `DruidDataSource`，支持物理连接预热、PSCache、KeepAlive 等高级特性 |\r\n| **SQL 解析器** | 支持 30 种 SQL 方言的完整解析器，生成 AST 抽象语法树，支持 SQL 格式化、改写和分析 |\r\n| **SQL 防火墙** | 基于 AST 的 `WallFilter` SQL 安全防护，可拦截 SQL 注入、危险操作等 |\r\n| **监控统计** | 内置 `StatFilter` 实时采集 SQL 执行统计、连接池状态，提供 Web 监控页面 |\r\n| **Filter 扩展** | 可插拔的 Filter-Chain 架构，支持日志、加密、统计等扩展 |\r\n| **Spring Boot 集成** | 提供 Spring Boot 2.x \u002F 3.x \u002F 4.x Starter，开箱即用 |\r\n| **高可用** | `HighAvailableDataSource` 支持多数据源负载均衡、健康检查和故障切换 |\r\n\r\n## 快速开始\r\n\r\n### Maven 依赖\r\n\r\n```xml\r\n\u003Cdependency>\r\n    \u003CgroupId>com.alibaba\u003C\u002FgroupId>\r\n    \u003CartifactId>druid\u003C\u002FartifactId>\r\n    \u003Cversion>1.2.24\u003C\u002Fversion>\r\n\u003C\u002Fdependency>\r\n```\r\n\r\n### Spring Boot 项目（推荐）\r\n\r\n根据 Spring Boot 版本选择对应 Starter：\r\n\r\n| Spring Boot 版本 | Starter |\r\n|-----------------|---------|\r\n| 2.x | `druid-spring-boot-starter` |\r\n| 3.x | `druid-spring-boot-3-starter` |\r\n| 4.x | `druid-spring-boot-4-starter` |\r\n\r\n```xml\r\n\u003C!-- Spring Boot 3.x 示例 -->\r\n\u003Cdependency>\r\n    \u003CgroupId>com.alibaba\u003C\u002FgroupId>\r\n    \u003CartifactId>druid-spring-boot-3-starter\u003C\u002FartifactId>\r\n    \u003Cversion>1.2.24\u003C\u002Fversion>\r\n\u003C\u002Fdependency>\r\n```\r\n\r\n```yaml\r\n# application.yml\r\nspring:\r\n  datasource:\r\n    url: jdbc:mysql:\u002F\u002Flocalhost:3306\u002Fmydb\r\n    username: root\r\n    password: password\r\n    druid:\r\n      initial-size: 5\r\n      max-active: 20\r\n      min-idle: 5\r\n      max-wait: 60000\r\n      # 启用 Filter\r\n      filter:\r\n        stat:\r\n          enabled: true\r\n          log-slow-sql: true\r\n          slow-sql-millis: 2000\r\n        wall:\r\n          enabled: true\r\n```\r\n\r\n### 直接使用 DruidDataSource\r\n\r\n```java\r\nDruidDataSource dataSource = new DruidDataSource();\r\ndataSource.setUrl(\"jdbc:mysql:\u002F\u002Flocalhost:3306\u002Fmydb\");\r\ndataSource.setUsername(\"root\");\r\ndataSource.setPassword(\"password\");\r\ndataSource.setInitialSize(5);\r\ndataSource.setMaxActive(20);\r\ndataSource.setMinIdle(5);\r\ndataSource.init();\r\n\r\n\u002F\u002F 使用连接\r\ntry (Connection conn = dataSource.getConnection()) {\r\n    \u002F\u002F 执行 SQL\r\n}\r\n```\r\n\r\n### SQL 解析器\r\n\r\n```java\r\n\u002F\u002F 解析 SQL\r\nString sql = \"SELECT id, name FROM users WHERE age > 18 ORDER BY name\";\r\nList\u003CSQLStatement> stmts = SQLUtils.parseStatements(sql, DbType.mysql);\r\n\r\n\u002F\u002F 格式化 SQL\r\nString formatted = SQLUtils.format(sql, DbType.mysql);\r\n\r\n\u002F\u002F 获取表信息\r\nSchemaStatVisitor visitor = SQLUtils.createSchemaStatVisitor(DbType.mysql);\r\nstmts.get(0).accept(visitor);\r\nSystem.out.println(\"Tables: \" + visitor.getTables());\r\nSystem.out.println(\"Columns: \" + visitor.getColumns());\r\n```\r\n\r\n## 项目模块\r\n\r\n```\r\ndruid\u002F\r\n├── core\u002F                           # 核心库（连接池、SQL 解析、安全、监控）\r\n├── druid-spring-boot-starter\u002F      # Spring Boot 2.x 自动配置\r\n├── druid-spring-boot-3-starter\u002F    # Spring Boot 3.x 自动配置\r\n├── druid-spring-boot-4-starter\u002F    # Spring Boot 4.x 自动配置\r\n├── druid-wrapper\u002F                  # 包装工具\r\n├── druid-admin\u002F                    # 集群监控管理端\r\n└── doc\u002F                            # 文档\r\n```\r\n\r\n## SQL 方言支持\r\n\r\nDruid SQL 解析器支持 30 种数据库方言，每种方言都提供完整的 Lexer、Parser、AST 和 Visitor 实现：\r\n\r\n| 分类 | 支持的数据库 |\r\n|------|------------|\r\n| **主流关系型** | MySQL, PostgreSQL, Oracle, SQL Server, DB2, H2, Informix |\r\n| **国产数据库** | 达梦 (DM), Oscar, GaussDB |\r\n| **分析型\u002FMPP** | ClickHouse, Doris, StarRocks, Teradata, Redshift |\r\n| **云原生\u002F数仓** | BigQuery, Snowflake, Synapse, Hologres, ODPS (MaxCompute) |\r\n| **计算引擎** | Hive, Spark, Presto, Impala, Athena, Blink, Databricks |\r\n| **其他** | Phoenix, SuperSQL, Transact-SQL |\r\n\r\n## 文档\r\n\r\n| 文档 | 说明 |\r\n|------|------|\r\n| [架构概览](doc\u002Farchitecture.md) | 整体架构设计与核心组件交互 |\r\n| [连接池指南](doc\u002Fconnection-pool-guide.md) | DruidDataSource 配置、调优与最佳实践 |\r\n| [SQL 解析器指南](doc\u002Fsql-parser-guide.md) | SQL 解析、格式化、改写与方言扩展 |\r\n| [SQL 方言支持](doc\u002Fsql-dialect-support.md) | 完整方言支持矩阵与各方言特性 |\r\n| [Filter 机制](doc\u002Ffilter-guide.md) | Filter-Chain 架构与自定义 Filter 开发 |\r\n| [SQL 防火墙](doc\u002Fwall-security-guide.md) | WallFilter 配置与 SQL 安全防护 |\r\n| [监控统计](doc\u002Fmonitoring-guide.md) | StatFilter 与 Web 监控页面 |\r\n| [高可用数据源](doc\u002Fha-datasource.md) | HighAvailableDataSource 配置与使用 |\r\n| [Spring Boot 集成](druid-spring-boot-starter\u002FREADME.md) | Spring Boot Starter 配置指南 |\r\n| [Wiki (中文)](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Fwiki\u002F%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) | 常见问题与进阶文档 |\r\n| [Wiki (English)](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Fwiki\u002FFAQ) | FAQ and documentation |\r\n\r\n## 从源码构建\r\n\r\n```bash\r\ngit clone https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid.git\r\ncd druid\r\nmvn clean install\r\n```\r\n\r\n**要求：** Java 8+ JDK，Apache Maven 3.6+\r\n\r\n## 贡献\r\n\r\n欢迎参与 Druid 项目！请阅读 [贡献指南](CONTRIBUTING.md) 了解如何参与开发。\r\n\r\n## 安全漏洞\r\n\r\n请勿通过公开 Issue 报告安全漏洞。详见 [安全策略](SECURITY.md)。\r\n\r\n## 相关阿里云产品\r\n\r\n* [DataWorks 数据集成](https:\u002F\u002Fhelp.aliyun.com\u002Fdocument_detail\u002F137663.html)\r\n\r\n## License\r\n\r\nDruid 基于 [Apache License 2.0](https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0.html) 开源。\r\n","Druid 是阿里巴巴开源的高性能数据库连接池和 SQL 解析器，专为监控而设计。其核心功能包括高性能 JDBC 连接池、支持 30 种 SQL 方言的解析器、基于抽象语法树的 SQL 防火墙、实时监控统计以及可插拔的 Filter 扩展架构。此外，Druid 还提供了 Spring Boot 集成和高可用数据源支持。该项目适用于需要对数据库访问进行高效管理、安全防护及详细监控的应用场景，特别适合在 Java 生态系统中使用。",2,"2026-06-11 02:57:07","top_language"]