English | 简体中文
本仓库提供了 OceanBase 的示例项目。
对于基础的示例,我们将它们按照编程语言分组,示例目录以工具名称命名。
对于作为独立应用程序工作的示例,我们将它们放在 applications 目录下,示例目录名称一般包含主要工具名和用途。
您可以将示例代码复制到本地环境并在更改连接信息后直接使用,更多详细信息请参阅示例目录中的README文件。
我们欢迎任何人来贡献,感谢所有的贡献者!
我们在 GitHub 上创建了一些任务,这些任务难度不高,对于首次贡献者来说比较友好,欢迎感兴趣的开发者认领:oceanbase#16 。
如下是本仓库已经添加或计划在近期添加的示例:
- applications
hertzbeat
mydata
sveltekit
- TODO:
seatunnel
- c
- TODO:
obconnector-c
- TODO:
- c_plusplus
- TODO:
mysql-connector-cpp
- TODO:
- c_sharp
- TODO:
mysql-connector-net
MySqlConnector
- TODO:
- golang
go-sql-driver
gorm
- TODO:
xorm
obkv-table-client-go
- java
mybatis
mybatis-plus
mysql-connector-java
oceanbase-client
spring-jdbc
springboot
testcontainers-java
- TODO:
hibernate
spring-data-jpa
hikaricp
flink-cdc
oblogclient
obkv-table-client-java
- php
- TODO:
mysqli
pdo
- TODO:
- python
mysql-connector-python
pymysql
sqlalchemy
- TODO:
mysqlclient
- ruby
activerecord
mysql2
sequel
- rust
- TODO:
sqlx
rust-mysql-simple
obkv-table-client-rust
- TODO:
在本仓库中,一个示例将作为一个独立的模块存在,模块的目录名称应当与示例所用的工具保持一致,如 mysql-connector-java
的示例目录就命名为 mysql-connector-java
。
在本仓库的根目录内有许多分类目录。对于能够通过简单的命令可以直接运行的示例,我们建议按照工具所需要的编程语言环境来分类,如 mysql-connector-java
需要添加到 java
目录下。 对于需要比较复杂的配置才能运行的示例,我们建议将示例项目放到 applications
目录。
对于编程语言分类下的简单示例,其目录内应当包含以下内容
- 代码文件
run.sh
运行代码的脚本README.md
组件用法的介绍文档
如果您不能提供英文的文档,您可以在文档中使用您的母语,我们会在之后对其进行改进。
为了确保示例能够在 GitHub Action 中运行,您的模块添加到 GitHub CI 工作流程。本项目对简单示例提供了一套标准化的运行流程,详情请参阅 basic-workflow.yml。您只需要添加以下内容到 .github/workflows 目录下对应语言的 yml 中即可:
module.name
:新模块的名称,应与模块目录名称相同。module.with_oceanbase_container
:是否使用预先部署的 OceanBase 容器,可选,默认设置为 true。如果它是 true,您可以在 localhost 上使用用户名root@sys
或root@test
以及空密码连接到它。
对于需要放到 applications 目录下的复杂示例,其目录内同样需要包含项目文件和 README.md
文档,除此之外,您需要添加 ci 流程到 application.yml 中。
关于更多 OceanBase 的细节请参考 社区官网。