{"id":29571869,"url":"https://github.com/oceanbase/ob-samples","last_synced_at":"2025-07-19T04:36:26.588Z","repository":{"id":103355198,"uuid":"522386929","full_name":"oceanbase/ob-samples","owner":"oceanbase","description":"Show how to use OceanBase, providing the sample projects for OceanBase.","archived":false,"fork":false,"pushed_at":"2025-04-17T12:04:51.000Z","size":2590,"stargazers_count":18,"open_issues_count":5,"forks_count":23,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-18T02:41:46.036Z","etag":null,"topics":["applications","database","oceanbase","sample-code"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oceanbase.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-08T03:02:44.000Z","updated_at":"2025-04-17T12:04:59.000Z","dependencies_parsed_at":"2024-12-18T14:27:53.860Z","dependency_job_id":"bf97ee17-df78-43ea-89a3-70477c3bfc5d","html_url":"https://github.com/oceanbase/ob-samples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oceanbase/ob-samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fob-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fob-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fob-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fob-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oceanbase","download_url":"https://codeload.github.com/oceanbase/ob-samples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fob-samples/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265889158,"owners_count":23844539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applications","database","oceanbase","sample-code"],"created_at":"2025-07-19T04:36:25.992Z","updated_at":"2025-07-19T04:36:26.569Z","avatar_url":"https://github.com/oceanbase.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OceanBase Examples\n\n[English](README.md) | 简体中文\n\n## 介绍\n\n本仓库提供了 OceanBase 的示例项目。\n\n对于基础的示例，我们将它们按照编程语言分组，示例目录以工具名称命名。\n\n对于作为独立应用程序工作的示例，我们将它们放在 applications 目录下，示例目录名称一般包含主要工具名和用途。\n\n您可以将示例代码复制到本地环境并在更改连接信息后直接使用，更多详细信息请参阅示例目录中的README文件。\n\n## 贡献\n\n我们欢迎任何人来贡献，感谢所有的[贡献者](https://github.com/oceanbase/ob-samples/graphs/contributors)！\n\n我们在 GitHub 上创建了一些任务，这些任务难度不高，对于首次贡献者来说比较友好，欢迎感兴趣的开发者认领：https://github.com/oceanbase/ob-samples/issues/16 。\n\n如下是本仓库已经添加或计划在近期添加的示例:\n\n- applications\n  - `hertzbeat` `mydata` `sveltekit`\n  - TODO: `seatunnel`\n- c\n  - TODO: `obconnector-c`\n- c_plusplus\n  - TODO: `mysql-connector-cpp`\n- c_sharp\n  - TODO: `mysql-connector-net` `MySqlConnector`\n- golang\n  - `go-sql-driver` `gorm`\n  - TODO: `xorm` `obkv-table-client-go`\n- java\n  - `mybatis` `mybatis-plus` `mysql-connector-java` `oceanbase-client` `spring-jdbc` `springboot` `testcontainers-java`\n  - TODO: `hibernate` `spring-data-jpa` `hikaricp` `flink-cdc` `oblogclient` `obkv-table-client-java`\n- php\n  - TODO: `mysqli` `pdo`\n- python\n  - `mysql-connector-python` `pymysql` `sqlalchemy`\n  - TODO: `mysqlclient`\n- ruby\n  - `activerecord` `mysql2` `sequel`\n- rust\n  - TODO: `sqlx` `rust-mysql-simple` `obkv-table-client-rust`\n\n### 增加一个示例\n\n在本仓库中，一个示例将作为一个独立的模块存在，模块的目录名称应当与示例所用的工具保持一致，如 `mysql-connector-java` 的示例目录就命名为 `mysql-connector-java`。\n\n在本仓库的根目录内有许多分类目录。对于能够通过简单的命令可以直接运行的示例，我们建议按照工具所需要的编程语言环境来分类，如 `mysql-connector-java` 需要添加到 `java` 目录下。 对于需要比较复杂的配置才能运行的示例，我们建议将示例项目放到 `applications` 目录。\n\n#### 简单示例\n\n对于编程语言分类下的简单示例，其目录内应当包含以下内容\n\n- 代码文件\n- `run.sh` 运行代码的脚本\n- `README.md` 组件用法的介绍文档\n\n如果您不能提供英文的文档，您可以在文档中使用您的母语，我们会在之后对其进行改进。\n\n为了确保示例能够在 GitHub Action 中运行，您的模块添加到 GitHub CI 工作流程。本项目对简单示例提供了一套标准化的运行流程，详情请参阅 [basic-workflow.yml](./.github/workflows/basic-workflow.yml)。您只需要添加以下内容到 [.github/workflows](./.github/workflows) 目录下对应语言的 yml 中即可：\n\n- `module.name`：新模块的名称，应与模块目录名称相同。\n- `module.with_oceanbase_container`：是否使用预先部署的 OceanBase 容器，可选，默认设置为 true。如果它是 true，您可以在 localhost 上使用用户名 `root@sys` 或 `root@test` 以及空密码连接到它。\n\n#### 复杂示例\n\n对于需要放到 applications 目录下的复杂示例，其目录内同样需要包含项目文件和 `README.md` 文档，除此之外，您需要添加 ci 流程到 [application.yml](./.github/workflows/application.yml) 中。\n\n## 参考信息\n\n关于更多 OceanBase 的细节请参考 [社区官网](https://open.oceanbase.com)。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fob-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foceanbase%2Fob-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fob-samples/lists"}