You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2021/11/09 16:19:32 UTC
[shardingsphere] branch master updated: Update user-manual of
ShardingSphere-JDBC (#13523)
This is an automated email from the ASF dual-hosted git repository.
wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new e198123 Update user-manual of ShardingSphere-JDBC (#13523)
e198123 is described below
commit e19812329b8047d8884fcc575cbf46078aa06405
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Nov 10 00:18:52 2021 +0800
Update user-manual of ShardingSphere-JDBC (#13523)
* Update java config of shardingsphere-jdbc
* Update yaml of shardingsphere-jdbc
* Update user-manual of ShardingSphere-JDBC
* Update user-manual of ShardingSphere-JDBC
---
.../{usage => api}/_index.cn.md | 4 +-
.../{usage => api}/_index.en.md | 4 +-
.../shardingsphere-jdbc/api/special/_index.cn.md | 7 ++
.../shardingsphere-jdbc/api/special/_index.en.md | 7 ++
.../special}/observability/_index.cn.md | 2 +-
.../special}/observability/_index.en.md | 2 +-
.../special}/observability/agent.cn.md | 0
.../special}/observability/agent.en.md | 0
.../special}/observability/apm-integration.cn.md | 0
.../special}/observability/apm-integration.en.md | 0
.../api/special/sharding/_index.cn.md | 7 ++
.../api/special/sharding/_index.en.md | 7 ++
.../{usage => api/special}/sharding/hint.cn.md | 2 +-
.../{usage => api/special}/sharding/hint.en.md | 2 +-
.../special}/transaction/_index.cn.md | 0
.../special}/transaction/_index.en.md | 0
.../special}/transaction/atomikos.cn.md | 0
.../special}/transaction/atomikos.en.md | 0
.../special}/transaction/bitronix.cn.md | 0
.../special}/transaction/bitronix.en.md | 0
.../special}/transaction/java-api.cn.md | 0
.../special}/transaction/java-api.en.md | 0
.../special}/transaction/narayana.cn.md | 0
.../special}/transaction/narayana.en.md | 0
.../{usage => api/special}/transaction/seata.cn.md | 0
.../{usage => api/special}/transaction/seata.en.md | 0
.../special}/transaction/spring-boot-starter.cn.md | 0
.../special}/transaction/spring-boot-starter.en.md | 0
.../special}/transaction/spring-namespace.cn.md | 0
.../special}/transaction/spring-namespace.en.md | 0
.../shardingsphere-jdbc/api/standard/_index.cn.md | 7 ++
.../shardingsphere-jdbc/api/standard/_index.en.md | 7 ++
.../api/standard/java-api.cn.md | 112 ++++++++++++++++++++
.../api/standard/java-api.en.md | 113 +++++++++++++++++++++
.../standard}/spring-boot-starter.cn.md | 2 +-
.../standard}/spring-boot-starter.en.md | 2 +-
.../standard}/spring-namespace.cn.md | 2 +-
.../standard}/spring-namespace.en.md | 2 +-
.../shardingsphere-jdbc/api/standard/yaml.cn.md | 63 ++++++++++++
.../shardingsphere-jdbc/api/standard/yaml.en.md | 63 ++++++++++++
.../usage/governance/_index.cn.md | 8 --
.../usage/governance/_index.en.md | 8 --
.../usage/governance/java-api.cn.md | 69 -------------
.../usage/governance/java-api.en.md | 69 -------------
.../usage/governance/spring-boot-starter.cn.md | 47 ---------
.../usage/governance/spring-boot-starter.en.md | 48 ---------
.../usage/governance/spring-namespace.cn.md | 69 -------------
.../usage/governance/spring-namespace.en.md | 70 -------------
.../usage/governance/yaml.cn.md | 71 -------------
.../usage/governance/yaml.en.md | 71 -------------
.../usage/management/_index.cn.md | 35 -------
.../usage/management/_index.en.md | 35 -------
.../usage/sharding/_index.cn.md | 10 --
.../usage/sharding/_index.en.md | 12 ---
.../usage/sharding/java-api.cn.md | 95 -----------------
.../usage/sharding/java-api.en.md | 96 -----------------
.../shardingsphere-jdbc/usage/sharding/yaml.cn.md | 95 -----------------
.../shardingsphere-jdbc/usage/sharding/yaml.en.md | 99 ------------------
58 files changed, 405 insertions(+), 1019 deletions(-)
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/_index.cn.md
similarity index 64%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/_index.cn.md
index 1f95caa..52377cd 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/_index.cn.md
@@ -1,8 +1,8 @@
+++
-title = "使用手册"
+title = "API"
weight = 1
chapter = true
+++
-本章节将介绍 ShardingSphere-JDBC 相关使用。
+本章节将介绍 ShardingSphere-JDBC 使用 API。
更多使用细节请参见[使用示例](https://github.com/apache/shardingsphere/tree/master/examples)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/_index.en.md
similarity index 64%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/_index.en.md
index f108131..9152c88 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/_index.en.md
@@ -1,8 +1,8 @@
+++
-title = "Usage"
+title = "API"
weight = 1
chapter = true
+++
-This chapter will introduce the use of ShardingSphere-JDBC.
+This chapter will introduce the API of ShardingSphere-JDBC.
Please refer to [Example](https://github.com/apache/shardingsphere/tree/master/examples) for more details.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.cn.md
new file mode 100644
index 0000000..370d4e6
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.cn.md
@@ -0,0 +1,7 @@
++++
+title = "特殊 API"
+weight = 2
+chapter = true
++++
+
+本章节将介绍 ShardingSphere-JDBC 的特殊场景 API。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.en.md
new file mode 100644
index 0000000..7408102
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/_index.en.md
@@ -0,0 +1,7 @@
++++
+title = "Special API"
+weight = 2
+chapter = true
++++
+
+This chapter will introduce the special API of ShardingSphere-JDBC.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.cn.md
similarity index 90%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.cn.md
index 0a57aa8..de05fb4 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.cn.md
@@ -1,6 +1,6 @@
+++
title = "可观察性"
-weight = 5
+weight = 3
chapter = true
+++
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.en.md
similarity index 91%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.en.md
index 866744f..0f30885 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/_index.en.md
@@ -1,6 +1,6 @@
+++
title = "Observability"
-weight = 5
+weight = 3
chapter = true
+++
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/agent.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/agent.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/agent.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/agent.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/agent.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/agent.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/agent.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/agent.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/apm-integration.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/apm-integration.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/apm-integration.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/apm-integration.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/apm-integration.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/apm-integration.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/observability/apm-integration.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/observability/apm-integration.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.cn.md
new file mode 100644
index 0000000..df01983
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.cn.md
@@ -0,0 +1,7 @@
++++
+title = "数据分片"
+weight = 1
+chapter = true
++++
+
+本章节将介绍 ShardingSphere-JDBC 的分片场景 API。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.en.md
new file mode 100644
index 0000000..d8069eb
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/_index.en.md
@@ -0,0 +1,7 @@
++++
+title = "Sharding"
+weight = 1
+chapter = true
++++
+
+This chapter will introduce the Sharding API of ShardingSphere-JDBC.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.cn.md
similarity index 99%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.cn.md
index a075970..38ab5e7 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.cn.md
@@ -1,6 +1,6 @@
+++
title = "强制路由"
-weight = 5
+weight = 1
+++
## 简介
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.en.md
similarity index 99%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.en.md
index 5fec8d5..fe61093 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/hint.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/sharding/hint.en.md
@@ -1,6 +1,6 @@
+++
title = "Hint"
-weight = 5
+weight = 1
+++
## Introduction
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/_index.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/_index.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/_index.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/_index.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/_index.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/_index.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/atomikos.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/atomikos.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/atomikos.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/atomikos.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/atomikos.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/atomikos.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/atomikos.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/atomikos.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/bitronix.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/bitronix.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/bitronix.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/bitronix.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/java-api.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/java-api.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/java-api.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/java-api.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/java-api.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/java-api.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/java-api.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/java-api.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/narayana.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/narayana.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/narayana.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/narayana.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/seata.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/seata.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/seata.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/seata.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-boot-starter.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-boot-starter.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-boot-starter.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-boot-starter.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-boot-starter.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-boot-starter.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-boot-starter.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-boot-starter.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-namespace.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-namespace.cn.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-namespace.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-namespace.cn.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-namespace.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-namespace.en.md
similarity index 100%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/spring-namespace.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/special/transaction/spring-namespace.en.md
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.cn.md
new file mode 100644
index 0000000..08a2561
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.cn.md
@@ -0,0 +1,7 @@
++++
+title = "标准 API"
+weight = 1
+chapter = true
++++
+
+本章节将介绍 ShardingSphere-JDBC 的标准 API。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.en.md
new file mode 100644
index 0000000..34a10c3
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/_index.en.md
@@ -0,0 +1,7 @@
++++
+title = "Standard API"
+weight = 1
+chapter = true
++++
+
+This chapter will introduce the standard API of ShardingSphere-JDBC.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.cn.md
new file mode 100644
index 0000000..18067bb
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.cn.md
@@ -0,0 +1,112 @@
++++
+title = "Java API"
+weight = 1
++++
+
+## 引入 Maven 依赖
+
+```xml
+<dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-jdbc-core</artifactId>
+ <version>${shardingsphere.version}</version>
+</dependency>
+```
+
+## 构建数据源
+
+ShardingSphere-JDBC 的 Java API 通过 Schema 名称、运行模式、数据源集合、规则集合以及属性配置组成。
+
+### 构建运行模式
+
+运行模式配置对象包含三个参数,分别是运行模式类型、用于存储配置数据的仓库配置和是否用当前的 Java 配置覆盖已经持久化的配置。
+
+目前包括三种运行模式,分别是:内存模式、本地模式、集群模式。
+
+对于用于存储配置数据的仓库配置根据运行模式不同,有不同的配置类:
+
+- 内存模式无需仓库配置对象;
+- 本地模式和集群模式均需要使用各自的仓库配置对象。
+
+三种运行模式的配置示例分别是:
+
+- 内存模式
+
+```java
+ModeConfiguration modeConfig = new ModeConfiguration("Memory", null, true);
+```
+
+- 本地模式
+
+```java
+StandalonePersistRepositoryConfiguration repositoryConfig = new StandalonePersistRepositoryConfiguration("Local", new Properties());
+ModeConfiguration modeConfig = new ModeConfiguration("Standalone", repositoryConfig, false);
+```
+
+- 集群模式
+
+```java
+ClusterPersistRepositoryConfiguration repositoryConfig = new ClusterPersistRepositoryConfiguration("ZooKeeper", "my_schema", "localhost:2181", new Properties());
+ModeConfiguration modeConfig = new ModeConfiguration("Cluster", repositoryConfig, false);
+```
+
+### 构建真实数据源
+
+示例的数据库连接池为 HikariCP,可根据业务场景更换为其他数据库连接池。
+
+```java
+Map<String, DataSource> dataSourceMap = new HashMap<>();
+
+// 配置第 1 个数据源
+HikariDataSource dataSource1 = new HikariDataSource();
+dataSource1.setDriverClassName("com.mysql.jdbc.Driver");
+dataSource1.setJdbcUrl("jdbc:mysql://localhost:3306/ds_1");
+dataSource1.setUsername("root");
+dataSource1.setPassword("");
+dataSourceMap.put("ds_1", dataSource1);
+
+// 配置第 n 个数据源
+HikariDataSource dataSourceN = new HikariDataSource();
+dataSourceN.setDriverClassName("com.mysql.jdbc.Driver");
+dataSourceN.setJdbcUrl("jdbc:mysql://localhost:3306/ds_n");
+dataSourceN.setUsername("root");
+dataSourceN.setPassword("");
+dataSourceMap.put("ds_n", dataSourceN);
+```
+
+### 构建规则
+
+规则属于 Apache ShardingSphere 的可插拔增量功能,请参见相应规则的配置手册。
+
+### 构建 ShardingSphere 数据源
+
+```java
+ModeConfiguration modeConfig = ... // 构建运行模式
+Map<String, DataSource> dataSourceMap = ... // 构建真实数据源
+Collection<RuleConfiguration> ruleConfigs = ... // 构建具体规则
+Properties props = ... // 构建属性配置
+DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource("my_schema", modeConfig, dataSourceMap, ruleConfigs, props);
+```
+
+## 使用 ShardingSphere 数据源
+
+通过 ShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
+可通过 DataSource 选择使用原生 JDBC,或 JPA、Hibernate、MyBatis 等 ORM 框架。
+
+以原生 JDBC 使用方式为例:
+
+```java
+DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource("my_schema", modeConfig, dataSourceMap, ruleConfigs, props);
+String sql = "SELECT xxx FROM xxx WHERE xxx=? AND xxx=?";
+try (
+ Connection conn = dataSource.getConnection();
+ PreparedStatement ps = conn.prepareStatement(sql)) {
+ ps.setInt(1, 10);
+ ps.setInt(2, 1000);
+ try (ResultSet rs = ps.executeQuery()) {
+ while(rs.next()) {
+ // ...
+ }
+ }
+}
+```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.en.md
new file mode 100644
index 0000000..b66b5d3
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/java-api.en.md
@@ -0,0 +1,113 @@
++++
+title = "Java API"
+weight = 1
++++
+
+## Import Maven Dependency
+
+```xml
+<dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-jdbc-core</artifactId>
+ <version>${shardingsphere.version}</version>
+</dependency>
+```
+
+## Build Data Source
+
+ShardingSphere-JDBC Java API consists of schema name, mode configuration, data source map, rule configurations and properties.
+
+### Build Mode Configuration
+
+Mode configuration include 3 parameters, which are mode type, repository configuration and whether overwrite of local configuration to persist repository.
+
+Mode include memory, standalone and cluster.
+
+There are different repository configuration for each mode:
+
+- Memory mode do not need repository configuration;
+- Standalone and cluster mode need to customized repository configuration.
+
+Example for each mode are:
+
+- Memory Mode
+
+```java
+ModeConfiguration modeConfig = new ModeConfiguration("Memory", null, true);
+```
+
+- Standalone Mode
+
+```java
+StandalonePersistRepositoryConfiguration repositoryConfig = new StandalonePersistRepositoryConfiguration("Local", new Properties());
+ModeConfiguration modeConfig = new ModeConfiguration("Standalone", repositoryConfig, false);
+```
+
+- Cluster Mode
+
+```java
+ClusterPersistRepositoryConfiguration repositoryConfig = new ClusterPersistRepositoryConfiguration("ZooKeeper", "my_schema", "localhost:2181", new Properties());
+ModeConfiguration modeConfig = new ModeConfiguration("Cluster", repositoryConfig, false);
+```
+
+### Build Physical Data Sources
+
+The data sour
+The example connection pool is HikariCP, which can be replaced with other connection pools according to business scenarios.
+
+```java
+Map<String, DataSource> dataSourceMap = new HashMap<>();
+
+// Configure the 1st data source
+HikariDataSource dataSource1 = new HikariDataSource();
+dataSource1.setDriverClassName("com.mysql.jdbc.Driver");
+dataSource1.setJdbcUrl("jdbc:mysql://localhost:3306/ds_1");
+dataSource1.setUsername("root");
+dataSource1.setPassword("");
+dataSourceMap.put("ds_1", dataSource1);
+
+// Configure the n data source
+HikariDataSource dataSourceN = new HikariDataSource();
+dataSourceN.setDriverClassName("com.mysql.jdbc.Driver");
+dataSourceN.setJdbcUrl("jdbc:mysql://localhost:3306/ds_n");
+dataSourceN.setUsername("root");
+dataSourceN.setPassword("");
+dataSourceMap.put("ds_n", dataSourceN);
+```
+
+### Build Rules
+
+Rules belong to pluggable features, please reference rule configuration manual.
+
+### Build ShardingSphere Data Source
+
+```java
+ModeConfiguration modeConfig = ... // Build mode
+Map<String, DataSource> dataSourceMap = ... // Build physical data sources
+Collection<RuleConfiguration> ruleConfigs = ... // Build rules
+Properties props = ... // Build properties
+DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource("my_schema", modeConfig, dataSourceMap, ruleConfigs, props);
+```
+
+## Use ShardingSphere Data Source
+
+The ShardingSphereDataSource created by ShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.
+Developer can choose to use native JDBC or ORM frameworks such as JPA, Hibernate or MyBatis through the DataSource.
+
+Take native JDBC usage as an example:
+
+```java
+DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource("my_schema", modeConfig, dataSourceMap, ruleConfigs, props);
+String sql = "SELECT xxx FROM xxx WHERE xxx=? AND xxx=?";
+try (
+ Connection conn = dataSource.getConnection();
+ PreparedStatement ps = conn.prepareStatement(sql)) {
+ ps.setInt(1, 10);
+ ps.setInt(2, 1000);
+ try (ResultSet rs = ps.executeQuery()) {
+ while(rs.next()) {
+ // ...
+ }
+ }
+}
+```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.cn.md
similarity index 96%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.cn.md
index 4fa325c..4f8d248 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.cn.md
@@ -15,7 +15,7 @@ weight = 3
## 规则配置
-注:示例的数据库连接池为HikariCP,可根据业务场景更换为其他主流数据库连接池。
+注:示例的数据库连接池为 HikariCP,可根据业务场景更换为其他数据库连接池。
```properties
# 配置真实数据源
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.en.md
similarity index 95%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.en.md
index 299e07d..75082f4 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-boot-starter.en.md
@@ -15,7 +15,7 @@ weight = 3
## Configure Rule
-Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
+Note: The example connection pool is HikariCP, which can be replaced with other connection pools according to business scenarios.
```properties
# Configure actual data sources
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.cn.md
similarity index 97%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.cn.md
index ecbdb11..d7da598 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.cn.md
@@ -15,7 +15,7 @@ weight = 4
## 规则配置
-注:示例的数据库连接池为HikariCP,可根据业务场景更换为其他主流数据库连接池。
+注:示例的数据库连接池为 HikariCP,可根据业务场景更换为其他数据库连接池。
```xml
<?xml version="1.0" encoding="UTF-8"?>
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.en.md
similarity index 96%
rename from docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.en.md
index e390291..877f549 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/spring-namespace.en.md
@@ -15,7 +15,7 @@ weight = 4
## Configure Rule
-Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
+Note: The example connection pool is HikariCP, which can be replaced with other connection pools according to business scenarios.
```xml
<?xml version="1.0" encoding="UTF-8"?>
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.cn.md
new file mode 100644
index 0000000..20e1105
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.cn.md
@@ -0,0 +1,63 @@
++++
+title = "使用 YAML 配置"
+weight = 2
++++
+
+## 引入 Maven 依赖
+
+```xml
+<dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-jdbc-core</artifactId>
+ <version>${shardingsphere.version}</version>
+</dependency>
+```
+
+## 构建数据源
+
+### YAML 配置
+
+ShardingSphere-JDBC 的 YAML 配置文件通过 Schema 名称、运行模式、数据源集合、规则集合以及属性配置组成。
+
+注:示例的数据库连接池为 HikariCP,可根据业务场景更换为其他数据库连接池。
+
+```yaml
+schemaName: my_schema
+
+mode:
+ type: Memory
+
+dataSources:
+ # 配置第 1 个数据源
+ ds_1: !!com.zaxxer.hikari.HikariDataSource
+ driverClassName: com.mysql.jdbc.Driver
+ jdbcUrl: jdbc:mysql://localhost:3306/ds_1
+ username: root
+ password:
+ # 配置第 n 个数据源
+ ds_n: !!com.zaxxer.hikari.HikariDataSource
+ driverClassName: com.mysql.jdbc.Driver
+ jdbcUrl: jdbc:mysql://localhost:3306/ds_n
+ username: root
+ password:
+
+rules:
+- !XXX_1
+ ...
+- !XXX_N
+ ...
+
+props:
+ key_1: value_1
+ key_n: value_n
+```
+
+### 构建 ShardingSphere 数据源
+
+```java
+DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
+```
+
+## 使用 ShardingSphere 数据源
+
+使用方式同 Java API。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.en.md
new file mode 100644
index 0000000..9b2b4e1
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/api/standard/yaml.en.md
@@ -0,0 +1,63 @@
++++
+title = "Use YAML"
+weight = 2
++++
+
+## Import Maven Dependency
+
+```xml
+<dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-jdbc-core</artifactId>
+ <version>${shardingsphere.version}</version>
+</dependency>
+```
+
+## Build Data Source
+
+### YAML Configuration
+
+ShardingSphere-JDBC YAML file consists of schema name, mode configuration, data source map, rule configurations and properties.
+
+Note: The example connection pool is HikariCP, which can be replaced with other connection pools according to business scenarios.
+
+```yaml
+schemaName: my_schema
+
+mode:
+ type: Memory
+
+dataSources:
+ # Configure 1st data source
+ ds_1: !!com.zaxxer.hikari.HikariDataSource
+ driverClassName: com.mysql.jdbc.Driver
+ jdbcUrl: jdbc:mysql://localhost:3306/ds_1
+ username: root
+ password:
+ # Configure nth data source
+ ds_n: !!com.zaxxer.hikari.HikariDataSource
+ driverClassName: com.mysql.jdbc.Driver
+ jdbcUrl: jdbc:mysql://localhost:3306/ds_n
+ username: root
+ password:
+
+rules:
+ - !XXX_1
+ ...
+ - !XXX_N
+ ...
+
+props:
+ key_1: value_1
+ key_n: value_n
+```
+
+### Build ShardingSphere Data Source
+
+```java
+DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
+```
+
+## Use ShardingSphere Data Source
+
+Same with Java API.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.cn.md
deleted file mode 100644
index a52b89e..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.cn.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = "分布式治理"
-weight = 3
-chapter = true
-+++
-
-使用治理功能需要指定配置中心和注册中心。
-配置将全部存入配置中心,可以在每次启动时使用本地配置覆盖配置中心配置,也可以只通过配置中心读取配置。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.en.md
deleted file mode 100644
index e5fea0e..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = "Governance"
-weight = 3
-chapter = true
-+++
-
-Using governance requires designating a registry center in which all the configurations are saved.
-Users can either use local configurations to cover config center configurations or read configurations from config center.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.cn.md
deleted file mode 100644
index 66c4a10..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.cn.md
+++ /dev/null
@@ -1,69 +0,0 @@
-+++
-title = "使用 Java API"
-weight = 1
-+++
-
-## 引入 Maven 依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 ZooKeeper 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 Etcd 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-以下示例将 ZooKeeper 作为配置中心和注册中心。
-
-```java
-// 省略配置数据源以及规则
-// ...
-
-// 配置 ClusterPersistRepositoryConfig
-ClusterPersistRepositoryConfiguration registryCenterConfig = new ClusterPersistRepositoryConfiguration("Zookeeper", "governance-sharding-data-source", "localhost:2181", new Properties());
-
-// 配置 Cluster Config
-ModeConfiguration modeConfig = new ModeConfiguration("Cluster", registryCenterConfig, true);
-
-// 创建 ShardingSphereDataSource
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(modeConfig);
-```
-
-## 使用 ShardingSphereDataSource
-
-通过 ShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
-可通过 DataSource 选择使用原生 JDBC,或JPA, MyBatis 等 ORM 框架。
-
-以原生 JDBC 使用方式为例:
-
-```java
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(modeConfig);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.en.md
deleted file mode 100644
index 90e9a12..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/java-api.en.md
+++ /dev/null
@@ -1,69 +0,0 @@
-+++
-title = "Use Java API"
-weight = 1
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using ZooKeeper -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using Etcd -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-Using ZooKeeper as config center and registry center for example.
-
-```java
-// Omit configure data sources and rule configurations
-// ...
-
-// Configure ClusterPersistRepositoryConfig
-ClusterPersistRepositoryConfiguration registryCenterConfig = new ClusterPersistRepositoryConfiguration("Zookeeper", "governance-sharding-data-source", "localhost:2181", new Properties());
-
-// Configure Cluster Config
-ModeConfiguration modeConfig = new ModeConfiguration("Cluster", registryCenterConfig, true);
-
-// Create ShardingSphereDataSource
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(modeConfig);
-```
-
-## Use ShardingSphereDataSource
-
-The ShardingSphereDataSource created by ShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.
-Developer can choose to use native JDBC or ORM frameworks such as JPA or MyBatis through the DataSource.
-
-Take native JDBC usage as an example:
-
-```java
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(modeConfig);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.cn.md
deleted file mode 100644
index 9835223..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.cn.md
+++ /dev/null
@@ -1,47 +0,0 @@
-+++
-title = "使用 Spring Boot Starter"
-weight = 3
-+++
-
-## 引入 Maven 依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 ZooKeeper 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 Etcd 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-```properties
-spring.shardingsphere.mode.type=Cluster
-spring.shardingsphere.mode.repository.type=ZooKeeper
-spring.shardingsphere.mode.repository.props.namespace=governance-spring-boot-shardingsphere-test
-spring.shardingsphere.mode.repository.props.server-lists=localhost:2181
-spring.shardingsphere.mode.overwrite=true
-```
-
-## 在 Spring 中使用 ShardingSphereDataSource
-
-直接通过注入的方式即可使用 ShardingSphereDataSource;或者将 ShardingSphereDataSource 配置在JPA, MyBatis 等 ORM 框架中配合使用。
-
-```java
-@Resource
-private DataSource dataSource;
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.en.md
deleted file mode 100644
index 096edac..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter.en.md
+++ /dev/null
@@ -1,48 +0,0 @@
-+++
-title = "Use Spring Boot Starter"
-weight = 3
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using ZooKeeper -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using Etcd -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-```properties
-spring.shardingsphere.mode.type=Cluster
-spring.shardingsphere.mode.repository.type=ZooKeeper
-spring.shardingsphere.mode.repository.props.namespace=governance-spring-boot-shardingsphere-test
-spring.shardingsphere.mode.repository.props.server-lists=localhost:2181
-spring.shardingsphere.mode.overwrite=true
-```
-
-## Use ShardingSphereDataSource in Spring
-
-ShardingSphereDataSource can be used directly by injection;
-or configure ShardingSphereDataSource in ORM frameworks such as JPA or MyBatis.
-
-```java
-@Resource
-private DataSource dataSource;
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md
deleted file mode 100644
index ff86463..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md
+++ /dev/null
@@ -1,69 +0,0 @@
-+++
-title = "使用 Spring 命名空间"
-weight = 4
-+++
-
-## 引入Maven依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 ZooKeeper 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 Etcd 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-```xml
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cluster="http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster"
- xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
- xmlns="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster
- http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster/repository.xsd
- http://shardingsphere.apache.org/schema/shardingsphere/datasource
- http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd">
- <cluster:repository id="clusterRepository" type="ZooKeeper" namespace="regCenter" server-lists="localhost:2181">
- <props>
- <prop key="max-retries">3</prop>
- <prop key="operation-timeout-milliseconds">3000</prop>
- </props>
- </cluster:repository>
- <shardingsphere:data-source id="shardingDatabasesTablesDataSource" data-source-names="demo_ds_0, demo_ds_1" rule-refs="shardingRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
- <shardingsphere:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
- <shardingsphere:data-source id="encryptDataSource" data-source-names="demo_ds" rule-refs="encryptRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
-</beans>
-```
-
-## 在 Spring 中使用 ShardingSphereDataSource
-
-直接通过注入的方式即可使用 ShardingSphereDataSource;或者将 ShardingSphereDataSource 配置在JPA, MyBatis 等 ORM 框架中配合使用。
-
-```java
-@Resource
-private DataSource dataSource;
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.en.md
deleted file mode 100644
index f766f79..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.en.md
+++ /dev/null
@@ -1,70 +0,0 @@
-+++
-title = "Use Spring Namespace"
-weight = 4
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using ZooKeeper -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using Etcd -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-```xml
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cluster="http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster"
- xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
- xmlns="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster
- http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster/repository.xsd
- http://shardingsphere.apache.org/schema/shardingsphere/datasource
- http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd">
- <cluster:repository id="clusterRepository" type="ZooKeeper" namespace="regCenter" server-lists="localhost:2181">
- <props>
- <prop key="max-retries">3</prop>
- <prop key="operation-timeout-milliseconds">3000</prop>
- </props>
- </cluster:repository>
- <shardingsphere:data-source id="shardingDatabasesTablesDataSource" data-source-names="demo_ds_0, demo_ds_1" rule-refs="shardingRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
- <shardingsphere:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
- <shardingsphere:data-source id="encryptDataSource" data-source-names="demo_ds" rule-refs="encryptRule">
- <shardingsphere:mode type="Cluster" repository-ref="clusterRepository" overwrite="true"/>
- </shardingsphere:data-source>
-</beans>
-```
-
-## Use ShardingSphereDataSource in Spring
-
-ShardingSphereDataSource can be used directly by injection;
-or configure ShardingSphereDataSource in ORM frameworks such as JPA or MyBatis.
-
-```java
-@Resource
-private DataSource dataSource;
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.cn.md
deleted file mode 100644
index e59eb15..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.cn.md
+++ /dev/null
@@ -1,71 +0,0 @@
-+++
-title = "使用 YAML 配置"
-weight = 2
-+++
-
-## 引入 Maven 依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 ZooKeeper 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- 使用 Etcd 时,需要引入此模块 -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-以下示例将 ZooKeeper 作为配置中心和注册中心。
-
-```yaml
-mode:
- type: Cluster
- repository:
- type: ZooKeeper
- props:
- namespace: governance_ds
- server-lists: localhost:2181
- overwrite: true
-```
-
-```java
-// 创建 ShardingSphereDataSource
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-```
-
-## 使用 ShardingSphereDataSource
-
-通过 YamlShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
-可通过 DataSource 选择使用原生 JDBC,或JPA, MyBatis 等 ORM 框架。
-
-以原生 JDBC 使用方式为例:
-
-```java
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.en.md
deleted file mode 100644
index 211675b..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/yaml.en.md
+++ /dev/null
@@ -1,71 +0,0 @@
-+++
-title = "Use YAML"
-weight = 2
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using ZooKeeper -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-zookeeper-curator</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-
-<!-- import if using Etcd -->
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-Using ZooKeeper as config center and registry center for example.
-
-```yaml
-mode:
- type: Cluster
- repository:
- type: ZooKeeper
- props:
- namespace: governance_ds
- server-lists: localhost:2181
- overwrite: true
-```
-
-```java
-// Create ShardingSphereDataSource
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-```
-
-## Use ShardingSphereDataSource
-
-The ShardingSphereDataSource created by YamlShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.
-Developer can choose to use native JDBC or ORM frameworks such as JPA or MyBatis through the DataSource.
-
-Take native JDBC usage as an example:
-
-```java
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.cn.md
deleted file mode 100644
index b4a6c31..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.cn.md
+++ /dev/null
@@ -1,35 +0,0 @@
-+++
-title = "管控"
-weight = 4
-+++
-
-## 熔断实例
-
-可在 `IP地址@PORT` 节点写入 `DISABLED`(忽略大小写)表示禁用该实例,删除 `DISABLED` 表示启用。
-
-Zookeeper 命令如下:
-
-```
-[zk: localhost:2181(CONNECTED) 0] set /${your_zk_namespace}/status/compute_nodes/circuit_breaker/${your_instance_ip_a}@${your_instance_port_x} DISABLED
-```
-
-## 禁用从库
-
-在读写分离场景下,可在数据源名称子节点中写入 `DISABLED`(忽略大小写)表示禁用从库数据源,删除 `DISABLED` 或节点表示启用。
-
-Zookeeper 命令如下:
-
-```
-[zk: localhost:2181(CONNECTED) 0] set /${your_zk_namespace}/status/storage_nodes/disable/${your_schema_name.your_replica_datasource_name} DISABLED
-```
-
-## 第三方组件依赖
-
-Apache ShardingSphere 在数据库治理模块使用 SPI 方式载入数据到配置中心和注册中心,进行实例熔断和数据库禁用。
-目前,Apache ShardingSphere 内部支持 ZooKeeper,Etcd 等常用的配置中心/注册中心。
-此外,开发者可以使用其他第三方组件,并通过 SPI 的方式注入到 Apache ShardingSphere,从而使用该配置中心和注册中心,实现数据库治理功能。
-
-| | *实现驱动* | *版本* |
-| ------------------------------------------ | -------------------------------------------- | ------ |
-| [Zookeeper](https://zookeeper.apache.org/) | [Apache Curator](http://curator.apache.org/) | 3.6.x |
-| [Etcd](https://etcd.io/) | [jetcd](https://github.com/etcd-io/jetcd) | v3 |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.en.md
deleted file mode 100644
index a8736d3..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/management/_index.en.md
+++ /dev/null
@@ -1,35 +0,0 @@
-+++
-title = "Management"
-weight = 4
-+++
-
-## Circuit Breaker
-
-Write `DISABLED` (case insensitive) to `IP@PORT` to disable that instance; delete `DISABLED` to enable the instance.
-
-Zookeeper command is as follows:
-
-```
-[zk: localhost:2181(CONNECTED) 0] set /${your_zk_namespace}/status/compute_nodes/circuit_breaker/${your_instance_ip_a}@${your_instance_port_x} DISABLED
-```
-
-## Disable Replica Database
-
-Under readwrite-splitting scenarios, users can write `DISABLED` (case insensitive) to sub-nodes of data source name to disable replica database sources. Delete `DISABLED` or the node to enable it.
-
-Zookeeper command is as follows:
-
-```
-[zk: localhost:2181(CONNECTED) 0] set /${your_zk_namespace}/status/storage_nodes/disable/${your_schema_name.your_replica_datasource_name} DISABLED
-```
-
-## Third-party Components
-
-Apache ShardingSphere uses SPI to load data to the config center and registry center and disable instances and databases.
-Currently, Apache ShardingSphere supports frequently used registry centers, Zookeeper and Etcd.
-In addition, by injecting them to ShardingSphere with SPI, users can use other third-party config and registry centers to enable databases governance.
-
-| | *Driver* | *Version* |
-| ------------------------------------------ | -------------------------------------------- | --------- |
-| [Zookeeper](https://zookeeper.apache.org/) | [Apache Curator](http://curator.apache.org/) | 3.6.x |
-| [Etcd](https://etcd.io/) | [jetcd](https://github.com/etcd-io/jetcd) | v3 |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.cn.md
deleted file mode 100644
index 4272ee6..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.cn.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title = "数据分片"
-weight = 1
-chapter = true
-+++
-
-数据分片是 Apache ShardingSphere 的基础能力,本节以数据分片的使用举例。
-除数据分片之外,读写分离、数据加密、影子库压测等功能的使用方法完全一致,只要配置相应的规则即可。多规则可以叠加配置。
-
-详情请参见[配置手册](/cn/user-manual/shardingsphere-jdbc/configuration/)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md
deleted file mode 100644
index bde5cee..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md
+++ /dev/null
@@ -1,12 +0,0 @@
-+++
-title = "Data Sharding"
-weight = 1
-chapter = true
-+++
-
-Data sharding is the basic capability of Apache ShardingSphere.
-This section uses data sharding as an example.
-The usage of functions such as readwrite-splitting, data encryption, shadow database is completely consistent with data sharding, as long as the corresponding rules are configured.
-Multiple rules can be appended.
-
-Please refer to [Configuration Manual](/en/user-manual/shardingsphere-jdbc/configuration/) for more details.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.cn.md
deleted file mode 100644
index b22cc01..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.cn.md
+++ /dev/null
@@ -1,95 +0,0 @@
-+++
-title = "使用 Java API"
-weight = 1
-+++
-
-## 引入 Maven 依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-ShardingSphere-JDBC 的 Java API 通过数据源集合、规则集合以及属性配置组成。
-以下示例是根据 `user_id` 取模分库, 且根据 `order_id` 取模分表的 2 库 2 表的配置。
-
-注:示例的数据库连接池为HikariCP,可根据业务场景更换为其他主流数据库连接池。
-
-```java
-
-// 配置真实数据源
-Map<String, DataSource> dataSourceMap = new HashMap<>();
-
-// 配置第 1 个数据源
-HikariDataSource dataSource1 = new HikariDataSource();
-dataSource1.setDriverClassName("com.mysql.jdbc.Driver");
-dataSource1.setJdbcUrl("jdbc:mysql://localhost:3306/ds0");
-dataSource1.setUsername("root");
-dataSource1.setPassword("");
-dataSourceMap.put("ds0", dataSource1);
-
-// 配置第 2 个数据源
-HikariDataSource dataSource2 = new HikariDataSource();
-dataSource2.setDriverClassName("com.mysql.jdbc.Driver");
-dataSource2.setJdbcUrl("jdbc:mysql://localhost:3306/ds1");
-dataSource2.setUsername("root");
-dataSource2.setPassword("");
-dataSourceMap.put("ds1", dataSource2);
-
-// 配置 t_order 表规则
-ShardingTableRuleConfiguration orderTableRuleConfig = new ShardingTableRuleConfiguration("t_order", "ds${0..1}.t_order${0..1}");
-
-// 配置分库策略
-orderTableRuleConfig.setDatabaseShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "dbShardingAlgorithm"));
-
-// 配置分表策略
-orderTableRuleConfig.setTableShardingStrategy(new StandardShardingStrategyConfiguration("order_id", "tableShardingAlgorithm"));
-
-// 省略配置 t_order_item 表规则...
-// ...
-
-// 配置分片规则
-ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
-shardingRuleConfig.getTables().add(orderTableRuleConfig);
-
-// 配置分库算法
-Properties dbShardingAlgorithmrProps = new Properties();
-dbShardingAlgorithmrProps.setProperty("algorithm-expression", "ds${user_id % 2}");
-shardingRuleConfig.getShardingAlgorithms().put("dbShardingAlgorithm", new ShardingSphereAlgorithmConfiguration("INLINE", dbShardingAlgorithmrProps));
-
-// 配置分表算法
-Properties tableShardingAlgorithmrProps = new Properties();
-tableShardingAlgorithmrProps.setProperty("algorithm-expression", "t_order${order_id % 2}");
-shardingRuleConfig.getShardingAlgorithms().put("tableShardingAlgorithm", new ShardingSphereAlgorithmConfiguration("INLINE", tableShardingAlgorithmrProps));
-
-// 创建 ShardingSphereDataSource
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Collections.singleton(shardingRuleConfig), new Properties());
-```
-
-## 使用 ShardingSphereDataSource
-
-通过 ShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
-可通过 DataSource 选择使用原生 JDBC,或JPA, MyBatis 等 ORM 框架。
-
-以原生 JDBC 使用方式为例:
-
-```java
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Collections.singleton(shardingRuleConfig), new Properties());
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = ps.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.en.md
deleted file mode 100644
index 3d40a6f..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/java-api.en.md
+++ /dev/null
@@ -1,96 +0,0 @@
-+++
-title = "Use Java API"
-weight = 1
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-ShardingSphere-JDBC Java API consists of data sources, rules and properties configuration.
-The following example is the configuration of 2 databases and 2 tables,
-whose databases take module and split according to `order_id`, tables take module and split according to `order_id` .
-
-Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
-
-```java
-
-// Configure actual data sources
-Map<String, DataSource> dataSourceMap = new HashMap<>();
-
-// Configure the first data source
-HikariDataSource dataSource1 = new HikariDataSource();
-dataSource1.setDriverClassName("com.mysql.jdbc.Driver");
-dataSource1.setJdbcUrl("jdbc:mysql://localhost:3306/ds0");
-dataSource1.setUsername("root");
-dataSource1.setPassword("");
-dataSourceMap.put("ds0", dataSource1);
-
-// Configure the second data source
-HikariDataSource dataSource2 = new HikariDataSource();
-dataSource2.setDriverClassName("com.mysql.jdbc.Driver");
-dataSource2.setJdbcUrl("jdbc:mysql://localhost:3306/ds1");
-dataSource2.setUsername("root");
-dataSource2.setPassword("");
-dataSourceMap.put("ds1", dataSource2);
-
-// Configure order table rule
-ShardingTableRuleConfiguration orderTableRuleConfig = new ShardingTableRuleConfiguration("t_order", "ds${0..1}.t_order${0..1}");
-
-// Configure database sharding strategy
-orderTableRuleConfig.setDatabaseShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "dbShardingAlgorithm"));
-
-// Configure table sharding strategy
-orderTableRuleConfig.setTableShardingStrategy(new StandardShardingStrategyConfiguration("order_id", "tableShardingAlgorithm"));
-
-// Omit t_order_item table rule configuration ...
-// ...
-
-// Configure sharding rule
-ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
-shardingRuleConfig.getTables().add(orderTableRuleConfig);
-
-// Configure database sharding algorithm
-Properties dbShardingAlgorithmrProps = new Properties();
-dbShardingAlgorithmrProps.setProperty("algorithm-expression", "ds${user_id % 2}");
-shardingRuleConfig.getShardingAlgorithms().put("dbShardingAlgorithm", new ShardingSphereAlgorithmConfiguration("INLINE", dbShardingAlgorithmrProps));
-
-// Configure table sharding algorithm
-Properties tableShardingAlgorithmrProps = new Properties();
-tableShardingAlgorithmrProps.setProperty("algorithm-expression", "t_order${order_id % 2}");
-shardingRuleConfig.getShardingAlgorithms().put("tableShardingAlgorithm", new ShardingSphereAlgorithmConfiguration("INLINE", tableShardingAlgorithmrProps));
-
-// Create ShardingSphereDataSource
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Collections.singleton(shardingRuleConfig), new Properties());
-```
-
-## Use ShardingSphereDataSource
-
-The ShardingSphereDataSource created by ShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.
-Developer can choose to use native JDBC or ORM frameworks such as JPA or MyBatis through the DataSource.
-
-Take native JDBC usage as an example:
-
-```java
-DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Collections.singleton(shardingRuleConfig), new Properties());
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = ps.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.cn.md
deleted file mode 100644
index 448b4f7..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.cn.md
+++ /dev/null
@@ -1,95 +0,0 @@
-+++
-title = "使用 YAML 配置"
-weight = 2
-+++
-
-## 引入 Maven 依赖
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## 规则配置
-
-ShardingSphere-JDBC 的 YAML 配置文件 通过数据源集合、规则集合以及属性配置组成。
-以下示例是根据 `user_id` 取模分库, 且根据 `order_id` 取模分表的 2 库 2 表的配置。
-
-注:示例的数据库连接池为HikariCP,可根据业务场景更换为其他主流数据库连接池。
-```yaml
-# 配置真实数据源
-dataSources:
- # 配置第 1 个数据源
- ds0: !!com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://localhost:3306/ds0
- username: root
- password:
- # 配置第 2 个数据源
- ds1: !!com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://localhost:3306/ds1
- username: root
- password:
-
-rules:
-# 配置分片规则
-- !SHARDING
- tables:
- # 配置 t_order 表规则
- t_order:
- actualDataNodes: ds${0..1}.t_order${0..1}
- # 配置分库策略
- databaseStrategy:
- standard:
- shardingColumn: user_id
- shardingAlgorithmName: database_inline
- # 配置分表策略
- tableStrategy:
- standard:
- shardingColumn: order_id
- shardingAlgorithmName: table_inline
- t_order_item:
- # 省略配置 t_order_item 表规则...
- # ...
-
- # 配置分片算法
- shardingAlgorithms:
- database_inline:
- type: INLINE
- props:
- algorithm-expression: ds${user_id % 2}
- table_inline:
- type: INLINE
- props:
- algorithm-expression: t_order_${order_id % 2}
-```
-
-```java
-// 创建 ShardingSphereDataSource
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-```
-
-## 使用 ShardingSphereDataSource
-
-通过 YamlShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
-可通过 DataSource 选择使用原生 JDBC,或JPA, MyBatis 等 ORM 框架。
-
-```java
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.en.md
deleted file mode 100644
index e7671a0..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/yaml.en.md
+++ /dev/null
@@ -1,99 +0,0 @@
-+++
-title = "Use YAML"
-weight = 2
-+++
-
-## Import Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- <version>${shardingsphere.version}</version>
-</dependency>
-```
-
-## Configure Rule
-
-ShardingSphere-JDBC YAML file consists of data sources, rules and properties configuration.
-The following example is the configuration of 2 databases and 2 tables,
-whose databases take module and split according to `order_id`, tables take module and split according to `order_id`.
-
-Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
-
-```yaml
-# Configure actual data sources
-dataSources:
- # Configure the first data source
- ds0: !!com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://localhost:3306/ds0
- username: root
- password:
- # Configure the second data source
- ds1: !!com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://localhost:3306/ds1
- username: root
- password:
-
-rules:
-# Configure sharding rule
-- !SHARDING
- tables:
- # Configure t_order table rule
- t_order:
- actualDataNodes: ds${0..1}.t_order${0..1}
- # Configure database sharding strategy
- databaseStrategy:
- standard:
- shardingColumn: user_id
- shardingAlgorithmName: database_inline
- # Configure table sharding strategy
- tableStrategy:
- standard:
- shardingColumn: order_id
- shardingAlgorithmName: table_inline
- t_order_item:
- # Omit t_order_item table rule configuration ...
- # ...
-
- # Configure sharding algorithms
- shardingAlgorithms:
- database_inline:
- type: INLINE
- props:
- algorithm-expression: ds${user_id % 2}
- table_inline:
- type: INLINE
- props:
- algorithm-expression: t_order_${order_id % 2}
-```
-
-```java
-// Create ShardingSphereDataSource
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-```
-
-## Use ShardingSphereDataSource
-
-The ShardingSphereDataSource created by YamlShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.
-Developer can choose to use native JDBC or ORM frameworks such as JPA or MyBatis through the DataSource.
-
-Take native JDBC usage as an example:
-
-```java
-DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(yamlFile);
-String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
-try (
- Connection conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql)) {
- ps.setInt(1, 10);
- ps.setInt(2, 1000);
- try (ResultSet rs = preparedStatement.executeQuery()) {
- while(rs.next()) {
- // ...
- }
- }
-}
-```