This is an automated email from the ASF dual-hosted git repository.
xiaoyu 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 7f78aad docs:add spring-boot-starter each versions of the document
(#9680)
7f78aad is described below
commit 7f78aad70d610d741db0deff345cf3d851ad98c1
Author: totalo <[email protected]>
AuthorDate: Tue Mar 23 14:28:57 2021 +0800
docs:add spring-boot-starter each versions of the document (#9680)
* docs:add spring-boot-starter each versions of the document
* update docs by module
---
.../spring-boot-starter/change-history.cn.md | 471 ++++++++++++++++++++
.../spring-boot-starter/change-history.en.md | 485 +++++++++++++++++++++
.../configuration/spring-boot-starter/shadow.cn.md | 2 +-
3 files changed, 957 insertions(+), 1 deletion(-)
diff --git
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.cn.md
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.cn.md
index 0999baf..2f65b53 100644
---
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.cn.md
+++
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.cn.md
@@ -22,3 +22,474 @@
spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm
```
算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance)。
+
+### 数据分片
+
+#### 配置项说明
+
+```properties
+spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
+
+# 标准分片表配置
+spring.shardingsphere.rules.sharding.tables.<table-name>.actual-data-nodes= #
由数据源名 +
表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
+
+# 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
+
+# 用于单分片键的标准分片场景
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.standard.<sharding-algorithm-name>.sharding-column=
# 分片列名称
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.standard.<sharding-algorithm-name>.sharding-algorithm-name=
# 分片算法名称
+
+# 用于多分片键的复合分片场景
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.complex.<sharding-algorithm-name>.sharding-columns=
# 分片列名称,多个列以逗号分隔
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.complex.<sharding-algorithm-name>.sharding-algorithm-name=
# 分片算法名称
+
+# 用于Hint 的分片策略
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.hint.<sharding-algorithm-name>.sharding-algorithm-name=
# 分片算法名称
+
+# 分表策略,同分库策略
+spring.shardingsphere.rules.sharding.tables.<table-name>.table-strategy.xxx= #
省略
+
+# 自动分片表配置
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.actual-data-sources=
# 数据源名
+
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.sharding-strategy.standard.sharding-column=
# 分片列名称
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.sharding-strategy.standard.sharding-algorithm=
# 自动分片算法名称
+
+# 分布式序列策略配置
+spring.shardingsphere.rules.sharding.tables.<table-name>.key-generate-strategy.column=
# 分布式序列列名称
+spring.shardingsphere.rules.sharding.tables.<table-name>.key-generate-strategy.key-generator-name=
# 分布式序列算法名称
+
+spring.shardingsphere.rules.sharding.binding-tables[0]= # 绑定表规则列表
+spring.shardingsphere.rules.sharding.binding-tables[1]= # 绑定表规则列表
+spring.shardingsphere.rules.sharding.binding-tables[x]= # 绑定表规则列表
+
+spring.shardingsphere.rules.sharding.broadcast-tables[0]= # 广播表规则列表
+spring.shardingsphere.rules.sharding.broadcast-tables[1]= # 广播表规则列表
+spring.shardingsphere.rules.sharding.broadcast-tables[x]= # 广播表规则列表
+
+spring.shardingsphere.sharding.default-database-strategy.xxx= # 默认数据库分片策略
+spring.shardingsphere.sharding.default-table-strategy.xxx= # 默认表分片策略
+spring.shardingsphere.sharding.default-key-generate-strategy.xxx= # 默认分布式序列策略
+
+# 分片算法配置
+spring.shardingsphere.rules.sharding.sharding-algorithms.<sharding-algorithm-name>.type=
# 分片算法类型
+spring.shardingsphere.rules.sharding.sharding-algorithms.<sharding-algorithm-name>.props.xxx=#
分片算法属性配置
+
+# 分布式序列算法配置
+spring.shardingsphere.rules.sharding.key-generators.<key-generate-algorithm-name>.type=
# 分布式序列算法类型
+spring.shardingsphere.rules.sharding.key-generators.<key-generate-algorithm-name>.props.xxx=
# 分布式序列算法属性配置
+```
+
+算法类型的详情,请参见[内置分片算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/sharding)和[内置分布式序列算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/keygen)。
+
+### 数据加密
+
+#### 配置项说明
+
+```properties
+spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
+
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.cipher-column=
# 加密列名称
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.assisted-query-column=
# 查询列名称
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.plain-column=
# 原文列名称
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.encryptor-name=
# 加密算法名称
+
+# 加密算法配置
+spring.shardingsphere.rules.encrypt.encryptors.<encrypt-algorithm-name>.type=
# 加密算法类型
+spring.shardingsphere.rules.encrypt.encryptors.<encrypt-algorithm-name>.props.xxx=
# 加密算法属性配置
+```
+
+算法类型的详情,请参见[内置分片算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/encrypt)
+
+### 影子库
+
+#### 配置项说明
+
+```properties
+spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
+
+spring.shardingsphere.rules.shadow.column= # 影子字段名称名称
+spring.shardingsphere.rules.shadow.shadow-mappings.<product-data-source-name>=
# 影子数据库名称
+```
+
+### 分布式治理
+
+#### 配置项说明
+
+```properties
+spring.shardingsphere.governance.name= # 治理名称
+spring.shardingsphere.governance.registry-center.type= # 治理持久化类型。如:Zookeeper,
etcd, Apollo, Nacos
+spring.shardingsphere.governance.registry-center.server-lists= # 治理服务列表。包括 IP
地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181
+spring.shardingsphere.governance.registry-center.props= # 其它配置
+spring.shardingsphere.governance.overwrite= #
本地配置是否覆盖配置中心配置。如果可覆盖,每次启动都以本地配置为准.
+```
+
+### 混合规则
+
+#### 配置项说明
+
+```properties
+# 数据源配置
+# 数据源名称,多数据源以逗号分隔
+spring.shardingsphere.datasource.names=
write-ds0,write-ds1,write-ds0-read0,write-ds1-read0
+
+spring.shardingsphere.datasource.write-ds0.url= # 数据库 URL 连接
+spring.shardingsphere.datasource.write-ds0.type= # 数据库连接池类名称
+spring.shardingsphere.datasource.write-ds0.driver-class-name= # 数据库驱动类名
+spring.shardingsphere.datasource.write-ds0.username= # 数据库用户名
+spring.shardingsphere.datasource.write-ds0.password= # 数据库密码
+spring.shardingsphere.datasource.write-ds0.xxx= # 数据库连接池的其它属性
+
+spring.shardingsphere.datasource.write-ds1.url= # 数据库 URL 连接
+
+spring.shardingsphere.datasource.write-ds0-read0.url= # 数据库 URL 连接
+
+spring.shardingsphere.datasource.write-ds1-read0.url= # 数据库 URL 连接
+
+# 分片规则配置
+# 分库策略
+spring.shardingsphere.rules.sharding.default-database-strategy.standard.sharding-column=user_id
+spring.shardingsphere.rules.sharding.default-database-strategy.standard.sharding-algorithm-name=default-database-strategy-inline
+# 绑定表规则,多组绑定规则使用数组形式配置
+spring.shardingsphere.rules.sharding.binding-tables[0]=t_user,t_user_detail #
绑定表名称,多个表之间以逗号分隔
+spring.shardingsphere.rules.sharding.binding-tables[1]= # 绑定表名称,多个表之间以逗号分隔
+spring.shardingsphere.rules.sharding.binding-tables[x]= # 绑定表名称,多个表之间以逗号分隔
+# 广播表规则配置
+spring.shardingsphere.rules.sharding.broadcast-tables= # 广播表名称,多个表之间以逗号分隔
+
+# 分表策略
+# 表达式 `ds_$->{0..1}`枚举的数据源为读写分离配置的逻辑数据源名称
+spring.shardingsphere.rules.sharding.tables.t_user.actual-data-nodes=ds_$->{0..1}.t_user_$->{0..1}
+spring.shardingsphere.rules.sharding.tables.t_user.table-strategy.standard.sharding-column=user_id
+spring.shardingsphere.rules.sharding.tables.t_user.table-strategy.standard.sharding-algorithm-name=user-table-strategy-inline
+
+spring.shardingsphere.rules.sharding.tables.t_user_detail.actual-data-nodes=ds_$->{0..1}.t_user_detail_$->{0..1}
+spring.shardingsphere.rules.sharding.tables.t_user_detail.table-strategy.standard.sharding-column=user_id
+spring.shardingsphere.rules.sharding.tables.t_user_detail.table-strategy.standard.sharding-algorithm-name=user-detail-table-strategy-inline
+
+# 数据加密配置
+# `t_user` 使用分片规则配置的逻辑表名称
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.user_name.cipher-column=user_name
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.user_name.encryptor-name=name-encryptor
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.pwd.cipher-column=pwd
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.pwd.encryptor-name=pwd-encryptor
+
+# 数据加密算法配置
+spring.shardingsphere.rules.encrypt.encryptors.name-encryptor.type=AES
+spring.shardingsphere.rules.encrypt.encryptors.name-encryptor.props.aes-key-value=123456abc
+spring.shardingsphere.rules.encrypt.encryptors.pwd-encryptor.type=AES
+spring.shardingsphere.rules.encrypt.encryptors.pwd-encryptor.props.aes-key-value=123456abc
+
+# 分布式序列策略配置
+spring.shardingsphere.rules.sharding.tables.t_user.key-generate-strategy.column=user_id
+spring.shardingsphere.rules.sharding.tables.t_user.key-generate-strategy.key-generator-name=snowflake
+
+# 分片算法配置
+spring.shardingsphere.rules.sharding.sharding-algorithms.default-database-strategy-inline.type=INLINE
+# 表达式`ds_$->{user_id % 2}` 枚举的数据源为读写分离配置的逻辑数据源名称
+spring.shardingsphere.rules.sharding.sharding-algorithms.default-database-strategy-inline.algorithm-expression=ds_$->{user_id
% 2}
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-table-strategy-inline.type=INLINE
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-table-strategy-inline.algorithm-expression=t_user_$->{user_id
% 2}
+
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-detail-table-strategy-inline.type=INLINE
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-detail-table-strategy-inline.algorithm-expression=t_user_detail_$->{user_id
% 2}
+
+# 分布式序列算法配置
+spring.shardingsphere.rules.sharding.key-generators.snowflake.type=SNOWFLAKE
+spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=123
+
+# 读写分离策略配置
+# ds_0,ds_1为读写分离配置的逻辑数据源名称
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.write-data-source-name=write-ds0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.read-data-source-names=write-ds0-read0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.load-balancer-name=read-random
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.write-data-source-name=write-ds1
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.read-data-source-names=write-ds1-read0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.load-balancer-name=read-random
+
+# 负载均衡算法配置
+spring.shardingsphere.rules.read-write-splitting.load-balancers.read-random.type=RANDOM
+```
+
+## shardingsphere-4.x
+
+### 读写分离
+
+#### 配置项说明
+
+```properties
+#省略数据源配置,与数据分片一致
+
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#主库数据源名称
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#从库数据源名称列表
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#从库数据源名称列表
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#从库数据源名称列表
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#从库负载均衡算法类名称。该类需实现MasterSlaveLoadBalanceAlgorithm接口且提供无参数构造器
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#从库负载均衡算法类型,可选值:ROUND_ROBIN,RANDOM。若`load-balance-algorithm-class-name`存在则忽略该配置
+
+spring.shardingsphere.props.sql.show= #是否开启SQL显示,默认值: false
+spring.shardingsphere.props.executor.size= #工作线程数量,默认值: CPU核数
+spring.shardingsphere.props.check.table.metadata.enabled=
#是否在启动时检查分表元数据一致性,默认值: false
+```
+
+### 数据分片
+
+#### 配置项说明
+
+```properties
+spring.shardingsphere.datasource.names= #数据源名称,多数据源以逗号分隔
+
+spring.shardingsphere.datasource.<data-source-name>.type= #数据库连接池类名称
+spring.shardingsphere.datasource.<data-source-name>.driver-class-name= #数据库驱动类名
+spring.shardingsphere.datasource.<data-source-name>.url= #数据库url连接
+spring.shardingsphere.datasource.<data-source-name>.username= #数据库用户名
+spring.shardingsphere.datasource.<data-source-name>.password= #数据库密码
+spring.shardingsphere.datasource.<data-source-name>.xxx= #数据库连接池的其它属性
+
+spring.shardingsphere.sharding.tables.<logic-table-name>.actual-data-nodes=
#由数据源名 +
表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
+
+#分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
+
+#用于单分片键的标准分片场景
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.sharding-column=
#分片列名称
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.precise-algorithm-class-name=
#精确分片算法类名称,用于=和IN。该类需实现PreciseShardingAlgorithm接口并提供无参数的构造器
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.range-algorithm-class-name=
#范围分片算法类名称,用于BETWEEN,可选。该类需实现RangeShardingAlgorithm接口并提供无参数的构造器
+
+#用于多分片键的复合分片场景
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.sharding-columns=
#分片列名称,多个列以逗号分隔
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.algorithm-class-name=
#复合分片算法类名称。该类需实现ComplexKeysShardingAlgorithm接口并提供无参数的构造器
+
+#行表达式分片策略
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.inline.sharding-column=
#分片列名称
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.inline.algorithm-expression=
#分片算法行表达式,需符合groovy语法
+
+#Hint分片策略
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.hint.algorithm-class-name=
#Hint分片算法类名称。该类需实现HintShardingAlgorithm接口并提供无参数的构造器
+
+#分表策略,同分库策略
+spring.shardingsphere.sharding.tables.<logic-table-name>.table-strategy.xxx=
#省略
+
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.column=
#自增列名称,缺省表示不使用自增主键生成器
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.type=
#自增列值生成器类型,缺省表示使用默认自增列值生成器。可使用用户自定义的列值生成器或选择内置类型:SNOWFLAKE/UUID
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.props.<property-name>=
#属性配置,
注意:使用SNOWFLAKE算法,需要配置worker.id与max.tolerate.time.difference.milliseconds属性。若使用此算法生成值作分片值,建议配置max.vibration.offset属性
+
+spring.shardingsphere.sharding.binding-tables[0]= #绑定表规则列表
+spring.shardingsphere.sharding.binding-tables[1]= #绑定表规则列表
+spring.shardingsphere.sharding.binding-tables[x]= #绑定表规则列表
+
+spring.shardingsphere.sharding.broadcast-tables[0]= #广播表规则列表
+spring.shardingsphere.sharding.broadcast-tables[1]= #广播表规则列表
+spring.shardingsphere.sharding.broadcast-tables[x]= #广播表规则列表
+
+spring.shardingsphere.sharding.default-data-source-name= #未配置分片规则的表将通过默认数据源定位
+spring.shardingsphere.sharding.default-database-strategy.xxx= #默认数据库分片策略,同分库策略
+spring.shardingsphere.sharding.default-table-strategy.xxx= #默认表分片策略,同分表策略
+spring.shardingsphere.sharding.default-key-generator.type=
#默认自增列值生成器类型,缺省将使用org.apache.shardingsphere.core.keygen.generator.impl.SnowflakeKeyGenerator。可使用用户自定义的列值生成器或选择内置类型:SNOWFLAKE/UUID
+spring.shardingsphere.sharding.default-key-generator.props.<property-name>=
#自增列值生成器属性配置, 比如SNOWFLAKE算法的worker.id与max.tolerate.time.difference.milliseconds
+
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#详见读写分离部分
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#详见读写分离部分
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#详见读写分离部分
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#详见读写分离部分
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#详见读写分离部分
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#详见读写分离部分
+
+spring.shardingsphere.props.sql.show= #是否开启SQL显示,默认值: false
+spring.shardingsphere.props.executor.size= #工作线程数量,默认值: CPU核数
+```
+
+### 编排治理
+
+#### 治理
+
+##### 配置项说明
+
+```properties
+#省略数据源、数据分片、读写分离和数据脱敏配置
+
+spring.shardingsphere.orchestration.name= #治理实例名称
+spring.shardingsphere.orchestration.overwrite=
#本地配置是否覆盖注册中心配置。如果可覆盖,每次启动都以本地配置为准
+spring.shardingsphere.orchestration.registry.type= #配置中心类型。如:zookeeper
+spring.shardingsphere.orchestration.registry.server-lists=
#连接注册中心服务器的列表。包括IP地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181
+spring.shardingsphere.orchestration.registry.namespace= #注册中心的命名空间
+spring.shardingsphere.orchestration.registry.digest= #连接注册中心的权限令牌。缺省为不需要权限验证
+spring.shardingsphere.orchestration.registry.operation-timeout-milliseconds=
#操作超时的毫秒数,默认500毫秒
+spring.shardingsphere.orchestration.registry.max-retries= #连接失败后的最大重试次数,默认3次
+spring.shardingsphere.orchestration.registry.retry-interval-milliseconds=
#重试间隔毫秒数,默认500毫秒
+spring.shardingsphere.orchestration.registry.time-to-live-seconds=
#临时节点存活秒数,默认60秒
+spring.shardingsphere.orchestration.registry.props= #配置中心其它属性
+```
+
+### 数据脱敏
+
+#### 配置项说明
+
+```properties
+#省略数据源配置,与数据分片一致
+
+spring.shardingsphere.encrypt.encryptors.<encryptor-name>.type=
#加解密器类型,可自定义或选择内置类型:MD5/AES
+spring.shardingsphere.encrypt.encryptors.<encryptor-name>.props.<property-name>=
#属性配置, 注意:使用AES加密器,需要配置AES加密器的KEY属性:aes.key.value
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.plainColumn=
#存储明文的字段
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.cipherColumn=
#存储密文的字段
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.assistedQueryColumn=
#辅助查询字段,针对ShardingQueryAssistedEncryptor类型的加解密器进行辅助查询
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.encryptor=
#加密器名字
+```
+
+## shardingsphere-3.x
+
+### 数据分片
+
+#### 配置项说明
+
+```properties
+sharding.jdbc.datasource.names= #数据源名称,多数据源以逗号分隔
+
+sharding.jdbc.datasource.<data-source-name>.type= #数据库连接池类名称
+sharding.jdbc.datasource.<data-source-name>.driver-class-name= #数据库驱动类名
+sharding.jdbc.datasource.<data-source-name>.url= #数据库url连接
+sharding.jdbc.datasource.<data-source-name>.username= #数据库用户名
+sharding.jdbc.datasource.<data-source-name>.password= #数据库密码
+sharding.jdbc.datasource.<data-source-name>.xxx= #数据库连接池的其它属性
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.actual-data-nodes=
#由数据源名 +
表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点。用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
+
+#分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
+
+#用于单分片键的标准分片场景
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.sharding-column=
#分片列名称
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.precise-algorithm-class-name=
#精确分片算法类名称,用于=和IN。该类需实现PreciseShardingAlgorithm接口并提供无参数的构造器
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.range-algorithm-class-name=
#范围分片算法类名称,用于BETWEEN,可选。该类需实现RangeShardingAlgorithm接口并提供无参数的构造器
+
+#用于多分片键的复合分片场景
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.complex.sharding-columns=
#分片列名称,多个列以逗号分隔
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.complex.algorithm-class-name=
#复合分片算法类名称。该类需实现ComplexKeysShardingAlgorithm接口并提供无参数的构造器
+
+#行表达式分片策略
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.inline.sharding-column=
#分片列名称
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.inline.algorithm-expression=
#分片算法行表达式,需符合groovy语法
+
+#Hint分片策略
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.hint.algorithm-class-name=
#Hint分片算法类名称。该类需实现HintShardingAlgorithm接口并提供无参数的构造器
+
+#分表策略,同分库策略
+sharding.jdbc.config.sharding.tables.<logic-table-name>.table-strategy.xxx= #省略
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-column-name=
#自增列名称,缺省表示不使用自增主键生成器
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-class-name=
#自增列值生成器类名称,缺省表示使用默认自增列值生成器。该类需提供无参数的构造器
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.logic-index=
#逻辑索引名称,对于分表的Oracle/PostgreSQL数据库中DROP INDEX XXX语句,需要通过配置逻辑索引名称定位所执行SQL的真实分表
+
+sharding.jdbc.config.sharding.binding-tables[0]= #绑定表规则列表
+sharding.jdbc.config.sharding.binding-tables[1]= #绑定表规则列表
+sharding.jdbc.config.sharding.binding-tables[x]= #绑定表规则列表
+
+sharding.jdbc.config.sharding.broadcast-tables[0]= #广播表规则列表
+sharding.jdbc.config.sharding.broadcast-tables[1]= #广播表规则列表
+sharding.jdbc.config.sharding.broadcast-tables[x]= #广播表规则列表
+
+sharding.jdbc.config.sharding.default-data-source-name= #未配置分片规则的表将通过默认数据源定位
+sharding.jdbc.config.sharding.default-database-strategy.xxx= #默认数据库分片策略,同分库策略
+sharding.jdbc.config.sharding.default-table-strategy.xxx= #默认表分片策略,同分表策略
+sharding.jdbc.config.sharding.default-key-generator-class-name=
#默认自增列值生成器类名称,缺省使用io.shardingsphere.core.keygen.DefaultKeyGenerator。该类需实现KeyGenerator接口并提供无参数的构造器
+
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#详见读写分离部分
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#详见读写分离部分
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#详见读写分离部分
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#详见读写分离部分
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#详见读写分离部分
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#详见读写分离部分
+
+sharding.jdbc.config.props.sql.show= #是否开启SQL显示,默认值: false
+sharding.jdbc.config.props.executor.size= #工作线程数量,默认值: CPU核数
+
+sharding.jdbc.config.config.map.key1= #用户自定义配置
+sharding.jdbc.config.config.map.key2= #用户自定义配置
+sharding.jdbc.config.config.map.keyx= #用户自定义配置
+```
+
+### 读写分离
+
+#### 配置项说明
+
+```properties
+#省略数据源配置,与数据分片一致
+
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#主库数据源名称
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#从库数据源名称列表
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#从库数据源名称列表
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#从库数据源名称列表
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#从库负载均衡算法类名称。该类需实现MasterSlaveLoadBalanceAlgorithm接口且提供无参数构造器
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#从库负载均衡算法类型,可选值:ROUND_ROBIN,RANDOM。若`load-balance-algorithm-class-name`存在则忽略该配置
+
+sharding.jdbc.config.config.map.key1= #用户自定义配置
+sharding.jdbc.config.config.map.key2= #用户自定义配置
+sharding.jdbc.config.config.map.keyx= #用户自定义配置
+
+sharding.jdbc.config.props.sql.show= #是否开启SQL显示,默认值: false
+sharding.jdbc.config.props.executor.size= #工作线程数量,默认值: CPU核数
+sharding.jdbc.config.props.check.table.metadata.enabled=
#是否在启动时检查分表元数据一致性,默认值: false
+```
+
+### 数据治理
+
+#### 配置项说明
+
+```properties
+#省略数据源、数据分片和读写分离配置
+
+sharding.jdbc.config.sharding.orchestration.name= #数据治理实例名称
+sharding.jdbc.config.sharding.orchestration.overwrite=
#本地配置是否覆盖注册中心配置。如果可覆盖,每次启动都以本地配置为准
+sharding.jdbc.config.sharding.orchestration.registry.server-lists=
#连接注册中心服务器的列表。包括IP地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181
+sharding.jdbc.config.sharding.orchestration.registry.namespace= #注册中心的命名空间
+sharding.jdbc.config.sharding.orchestration.registry.digest=
#连接注册中心的权限令牌。缺省为不需要权限验证
+sharding.jdbc.config.sharding.orchestration.registry.operation-timeout-milliseconds=
#操作超时的毫秒数,默认500毫秒
+sharding.jdbc.config.sharding.orchestration.registry.max-retries=
#连接失败后的最大重试次数,默认3次
+sharding.jdbc.config.sharding.orchestration.registry.retry-interval-milliseconds=
#重试间隔毫秒数,默认500毫秒
+sharding.jdbc.config.sharding.orchestration.registry.time-to-live-seconds=
#临时节点存活秒数,默认60秒
+```
+
+## shardingsphere-2.x
+
+### 读写分离
+
+#### 配置项说明
+
+```properties
+
+sharding.jdbc.config.masterslave.load-balance-algorithm-type=
#从库负载均衡算法类型,可选值:ROUND_ROBIN,RANDOM。若`load-balance-algorithm-class-name`存在则忽略该配置
+sharding.jdbc.config.masterslave.name= #主库名称
+sharding.jdbc.config.masterslave.master-data-source-name= #主库数据源名称
+sharding.jdbc.config.masterslave.slave-data-source-names= #从数据源名称,多个使用逗号隔开
+```
+
+### 分库分表
+
+#### 配置说明
+
+```properties
+
+sharding.jdbc.config.sharding.default-data-source-name= #未配置分片规则的表将通过默认数据源定位
+sharding.jdbc.config.sharding.default-database-strategy.inline.sharding-column=
#默认分库数据列
+sharding.jdbc.config.sharding.default-database-strategy.inline.algorithm-expression=
# 默认分库inline表达式
+sharding.jdbc.config.sharding.tables.<logic-table-name>.actualDataNodes=
#由数据源名 +
表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点。用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
+sharding.jdbc.config.sharding.tables.<logic-table-name>.tableStrategy.inline.shardingColumn=
#默认分表的列
+sharding.jdbc.config.sharding.tables.<logic-table-name>.tableStrategy.inline.algorithmInlineExpression=
#默认分表inline表达式
+sharding.jdbc.config.sharding.tables.<logic-table-name>.keyGeneratorColumnName=
#默认自增列值生成器类名称
+```
+
+### 编排治理
+
+#### 配置项说明
+
+```properties
+
+sharding.jdbc.config.orchestration.name= #数据治理实例名称
+sharding.jdbc.config.orchestration.overwrite=
#本地配置是否覆盖注册中心配置。如果可覆盖,每次启动都以本地配置为准
+
+# zookeeper配置说明
+sharding.jdbc.config.orchestration.zookeeper.namespace= # zookeeper配置中心命名空间
+sharding.jdbc.config.orchestration.zookeeper.server-lists=
#连接zookeeper注册中心服务器的列表。包括IP地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181
+
+# etcd配置说明
+sharding.jdbc.config.orchestration.etcd.server-lists=
#连接etcd注册中心服务器的列表。包括IP地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181
+```
\ No newline at end of file
diff --git
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.en.md
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.en.md
index 38e2613..2775130 100644
---
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.en.md
+++
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history.en.md
@@ -22,3 +22,488 @@
spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm
```
Please refer to [Built-in Load Balance Algorithm
List](/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance)
for more details about type of algorithm.
+
+### Sharding
+
+#### Configuration Item Explanation
+
+```properties
+spring.shardingsphere.datasource.names= # Omit the data source configuration,
please refer to the usage
+
+# Standard sharding table configuration
+spring.shardingsphere.rules.sharding.tables.<table-name>.actual-data-nodes= #
Describe data source names and actual tables, delimiter as point, multiple data
nodes separated with comma, support inline expression. Absent means sharding
databases only.
+
+# Databases sharding strategy, use default databases sharding strategy if
absent. sharding strategy below can choose only one.
+
+# For single sharding column scenario
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.standard.<sharding-algorithm-name>.sharding-column=
# Sharding column name
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.standard.<sharding-algorithm-name>.sharding-algorithm-name=
# Sharding algorithm name
+
+# For multiple sharding columns scenario
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.complex.<sharding-algorithm-name>.sharding-columns=
# Sharding column names, multiple columns separated with comma
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.complex.<sharding-algorithm-name>.sharding-algorithm-name=
# Sharding algorithm name
+
+# Sharding by hint
+spring.shardingsphere.rules.sharding.tables.<table-name>.database-strategy.hint.<sharding-algorithm-name>.sharding-algorithm-name=
# Sharding algorithm name
+
+# Tables sharding strategy, same as database sharding strategy
+spring.shardingsphere.rules.sharding.tables.<table-name>.table-strategy.xxx= #
Omitted
+
+# Auto sharding table configuraiton
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.actual-data-sources=
# data source names
+
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.sharding-strategy.standard.sharding-column=
# Sharding column name
+spring.shardingsphere.rules.sharding.auto-tables.<auto-table-name>.sharding-strategy.standard.sharding-algorithm=
# Auto sharding algorithm name
+
+# Key generator strategy configuration
+spring.shardingsphere.rules.sharding.tables.<table-name>.key-generate-strategy.column=
# Column name of key generator
+spring.shardingsphere.rules.sharding.tables.<table-name>.key-generate-strategy.key-generator-name=
# Key generator name
+
+spring.shardingsphere.rules.sharding.binding-tables[0]= # Binding table name
+spring.shardingsphere.rules.sharding.binding-tables[1]= # Binding table name
+spring.shardingsphere.rules.sharding.binding-tables[x]= # Binding table name
+
+spring.shardingsphere.rules.sharding.broadcast-tables[0]= # Broadcast tables
+spring.shardingsphere.rules.sharding.broadcast-tables[1]= # Broadcast tables
+spring.shardingsphere.rules.sharding.broadcast-tables[x]= # Broadcast tables
+
+spring.shardingsphere.sharding.default-database-strategy.xxx= # Default
strategy for database sharding
+spring.shardingsphere.sharding.default-table-strategy.xxx= # Default strategy
for table sharding
+spring.shardingsphere.sharding.default-key-generate-strategy.xxx= # Default
Key generator strategy
+
+# Sharding algorithm configuration
+spring.shardingsphere.rules.sharding.sharding-algorithms.<sharding-algorithm-name>.type=
# Sharding algorithm type
+spring.shardingsphere.rules.sharding.sharding-algorithms.<sharding-algorithm-name>.props.xxx=#
Sharding algorithm properties
+
+# Key generate algorithm configuration
+spring.shardingsphere.rules.sharding.key-generators.<key-generate-algorithm-name>.type=
# Key generate algorithm type
+spring.shardingsphere.rules.sharding.key-generators.<key-generate-algorithm-name>.props.xxx=
# Key generate algorithm properties
+```
+
+Please refer to [Built-in sharding Algorithm
List](/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/sharding)
and [Built-in keygen Algorithm
List](/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/keygen)。
+
+
+### Encryption
+
+#### Configuration Item Explanation
+
+```properties
+spring.shardingsphere.datasource.names= # Omit the data source configuration,
please refer to the usage
+
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.cipher-column=
# Cipher column name
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.assisted-query-column=
# Assisted query column name
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.plain-column=
# Plain column name
+spring.shardingsphere.rules.encrypt.tables.<table-name>.columns.<column-name>.encryptor-name=
# Encrypt algorithm name
+
+# Encrypt algorithm configuration
+spring.shardingsphere.rules.encrypt.encryptors.<encrypt-algorithm-name>.type=
# Encrypt algorithm type
+spring.shardingsphere.rules.encrypt.encryptors.<encrypt-algorithm-name>.props.xxx=
# Encrypt algorithm properties
+```
+
+### Shadow DB
+
+#### Configuration Item Explanation
+
+```properties
+spring.shardingsphere.datasource.names= # Omit the data source configuration,
please refer to the usage
+
+spring.shardingsphere.rules.shadow.column= # Shadow column name
+spring.shardingsphere.rules.shadow.shadow-mappings.<product-data-source-name>=
# Shadow data source name
+```
+
+### Governance
+
+#### Configuration Item Explanation
+
+##### Management
+
+```properties
+spring.shardingsphere.governance.name= # Governance name
+spring.shardingsphere.governance.registry-center.type= # Governance instance
type. Example:Zookeeper, etcd, Apollo, Nacos
+spring.shardingsphere.governance.registry-center.server-lists= # The list of
servers that connect to governance instance, including IP and port number; use
commas to separate
+spring.shardingsphere.governance.registry-center.props= # Other properties
+spring.shardingsphere.governance.overwrite= # Whether to overwrite local
configurations with config center configurations; if it can, each
initialization should refer to local configurations
+```
+
+### Mixed Rules
+
+#### Configuration Item Explanation
+
+```properties
+# data source configuration
+spring.shardingsphere.datasource.names=
write-ds0,write-ds1,write-ds0-read0,write-ds1-read0
+
+spring.shardingsphere.datasource.write-ds0.url= # Database URL connection
+spring.shardingsphere.datasource.write-ds0.type= # Database connection pool
type name
+spring.shardingsphere.datasource.write-ds0.driver-class-name= # Database
driver class name
+spring.shardingsphere.datasource.write-ds0.username= # Database username
+spring.shardingsphere.datasource.write-ds0.password= # Database password
+spring.shardingsphere.datasource.write-ds0.xxx= # Other properties of
database connection pool
+
+spring.shardingsphere.datasource.write-ds1.url= # Database URL connection
+# ...Omit specific configuration.
+
+spring.shardingsphere.datasource.write-ds0-read0.url= # Database URL connection
+# ...Omit specific configuration.
+
+spring.shardingsphere.datasource.write-ds1-read0.url= # Database URL connection
+# ...Omit specific configuration.
+
+# Sharding rules configuration
+# Databases sharding strategy
+spring.shardingsphere.rules.sharding.default-database-strategy.standard.sharding-column=user_id
+spring.shardingsphere.rules.sharding.default-database-strategy.standard.sharding-algorithm-name=default-database-strategy-inline
+# Binding table rules configuration ,and multiple groups of binding-tables
configured with arrays
+spring.shardingsphere.rules.sharding.binding-tables[0]=t_user,t_user_detail
+spring.shardingsphere.rules.sharding.binding-tables[1]= # Binding table
names,multiple table name are separated by commas
+spring.shardingsphere.rules.sharding.binding-tables[x]= # Binding table
names,multiple table name are separated by commas
+# Broadcast table rules configuration
+spring.shardingsphere.rules.sharding.broadcast-tables= # Broadcast table
names,multiple table name are separated by commas
+
+# Table sharding strategy
+# The enumeration value of `ds_$->{0..1}` is the name of the logical data
source configured with read-write-splitting
+spring.shardingsphere.rules.sharding.tables.t_user.actual-data-nodes=ds_$->{0..1}.t_user_$->{0..1}
+spring.shardingsphere.rules.sharding.tables.t_user.table-strategy.standard.sharding-column=user_id
+spring.shardingsphere.rules.sharding.tables.t_user.table-strategy.standard.sharding-algorithm-name=user-table-strategy-inline
+
+# Data encrypt configuration
+# Table `t_user` is the name of the logical table that uses for data sharding
configuration.
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.user_name.cipher-column=user_name
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.user_name.encryptor-name=name-encryptor
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.pwd.cipher-column=pwd
+spring.shardingsphere.rules.encrypt.tables.t_user.columns.pwd.encryptor-name=pwd-encryptor
+
+# Data encrypt algorithm configuration
+spring.shardingsphere.rules.encrypt.encryptors.name-encryptor.type=AES
+spring.shardingsphere.rules.encrypt.encryptors.name-encryptor.props.aes-key-value=123456abc
+spring.shardingsphere.rules.encrypt.encryptors.pwd-encryptor.type=AES
+spring.shardingsphere.rules.encrypt.encryptors.pwd-encryptor.props.aes-key-value=123456abc
+
+# Key generate strategy configuration
+spring.shardingsphere.rules.sharding.tables.t_user.key-generate-strategy.column=user_id
+spring.shardingsphere.rules.sharding.tables.t_user.key-generate-strategy.key-generator-name=snowflake
+
+# Sharding algorithm configuration
+spring.shardingsphere.rules.sharding.sharding-algorithms.default-database-strategy-inline.type=INLINE
+# The enumeration value of `ds_$->{user_id % 2}` is the name of the logical
data source configured with read-write-splitting
+spring.shardingsphere.rules.sharding.sharding-algorithms.default-database-strategy-inline.algorithm-expression=ds$->{user_id
% 2}
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-table-strategy-inline.type=INLINE
+spring.shardingsphere.rules.sharding.sharding-algorithms.user-table-strategy-inline.algorithm-expression=t_user_$->{user_id
% 2}
+
+# Key generate algorithm configuration
+spring.shardingsphere.rules.sharding.key-generators.snowflake.type=SNOWFLAKE
+spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=123
+
+# read query configuration
+# ds_0,ds_1 is the logical data source name of the read-write-splitting
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.write-data-source-name=write-ds0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.read-data-source-names=write-ds0-read0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_0.load-balancer-name=read-random
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.write-data-source-name=write-ds1
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.read-data-source-names=write-ds1-read0
+spring.shardingsphere.rules.read-write-splitting.data-sources.ds_1.load-balancer-name=read-random
+
+# Load balance algorithm configuration
+spring.shardingsphere.rules.read-write-splitting.load-balancers.read-random.type=RANDOM
+```
+
+## Shardingsphere-4.x
+
+### Read-Write Split
+
+#### Configuration Item Explanation
+
+```properties
+#Omit data source configurations; keep it consistent with data sharding
+
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#Data source name of master database
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#Data source name list of slave database
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#Data source name list of slave database
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#Data source name list of slave database
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#Load balance algorithm class name; the class needs to implement
MasterSlaveLoadBalanceAlgorithm interface and provide parameter-free constructor
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#Load balance algorithm class of slave database; optional value: ROUND_ROBIN
and RANDOM; if there is load-balance-algorithm-class-name, the configuration
can be omitted
+
+spring.shardingsphere.props.sql.show= #Show SQL or not; default value: false
+spring.shardingsphere.props.executor.size= #Executing thread number; default
value: CPU core number
+spring.shardingsphere.props.check.table.metadata.enabled= #Whether to check
meta-data consistency of sharding table when it initializes; default value:
false
+```
+
+### Data Sharding
+
+#### Configuration Item Explanation
+
+```properties
+spring.shardingsphere.datasource.names= #Data source name; multiple data
sources are separated by commas
+
+spring.shardingsphere.datasource.<data-source-name>.type= #Database connection
pool type name
+spring.shardingsphere.datasource.<data-source-name>.driver-class-name=
#Database driver class name
+spring.shardingsphere.datasource.<data-source-name>.url= #Database url
connection
+spring.shardingsphere.datasource.<data-source-name>.username= #Database
username
+spring.shardingsphere.datasource.<data-source-name>.password= #Database
password
+spring.shardingsphere.datasource.<data-source-name>.xxx= #Other properties of
database connection pool
+
+spring.shardingsphere.sharding.tables.<logic-table-name>.actual-data-nodes=
#It is consisted of data source name + table name, separated by decimal points;
multiple tables are separated by commas and support inline expressions; default
means using existing data sources and logic table names to generate data nodes;
it can be applied in broadcast tables (each database needs a same table for
relevance query, dictionary table mostly) or the situation with sharding
database but without shardi [...]
+
+#Database sharding strategy; default means using default database sharding
strategy; it can only choose one of the following sharding strategies
+
+#It is applied in standard sharding situation of single-sharding key
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.sharding-column=
#Sharding column name
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.precise-algorithm-class-name=
#Precise algorithm class name, applied in = and IN; the class needs to
implement PreciseShardingAlgorithm interface and provide parameter-free
constructor
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.standard.range-algorithm-class-name=
#Range sharding algorithm class name, applied in BETWEEN, optional; the class
should implement RangeShardingAlgorithm interface and provide parameter-free
constructor
+
+#It is applied in complex sharding situations with multiple sharding keys
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.sharding-columns=
#Sharding column name, with multiple columns separated by commas
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.algorithm-class-name=
#Complex sharding algorithm class name; the class needs to implement
ComplexKeysShardingAlgorithm interface and provide parameter-free constructor
+
+#Inline expression sharding strategy
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.inline.sharding-column=
#Sharding column name
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.inline.algorithm-expression=
#Inline expression of sharding algorithm, which needs to conform to groovy
statements
+
+#Hint Sharding Strategy
+spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.hint.algorithm-class-name=
#Hint algorithm class name; the class needs to implement
HintShardingAlgorithm interface and provide parameter-free constructor
+
+#Table sharding strategy, same as database sharding strategy
+spring.shardingsphere.sharding.tables.<logic-table-name>.table-strategy.xxx=
#Omitted
+
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.column=
#Auto-increment column name; default means not using auto-increment key
generator
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.type=
#Auto-increament key generator type; default means using default
auto-increament key generator; user defined generator or internal generator
(SNOWFLAKE, UUID) can both be selected
+spring.shardingsphere.sharding.tables.<logic-table-name>.key-generator.props.<property-name>=
#Properties, Notice: when use SNOWFLAKE, `worker.id` and
`max.tolerate.time.difference.milliseconds` for `SNOWFLAKE` need to be set. To
use the generated value of this algorithm as sharding value, it is recommended
to configure `max.vibration.offset`
+
+spring.shardingsphere.sharding.binding-tables[0]= #Binding table rule list
+spring.shardingsphere.sharding.binding-tables[1]= #Binding table rule list
+spring.shardingsphere.sharding.binding-tables[x]= #Binding table rule list
+
+spring.shardingsphere.sharding.broadcast-tables[0]= #Broadcast table rule list
+spring.shardingsphere.sharding.broadcast-tables[1]= #Broadcast table rule list
+spring.shardingsphere.sharding.broadcast-tables[x]= #Broadcast table rule list
+
+spring.shardingsphere.sharding.default-data-source-name= #Tables without
sharding rules will be located through default data source
+spring.shardingsphere.sharding.default-database-strategy.xxx= #Default
database sharding strategy
+spring.shardingsphere.sharding.default-table-strategy.xxx= #Default table
sharding strategy
+spring.shardingsphere.sharding.default-key-generator.type= #Default
auto-increament key generator of type; it will use
org.apache.shardingsphere.core.keygen.generator.impl.SnowflakeKeyGenerator in
default; user defined generator or internal generator (SNOWFLAKE or UUID) can
both be used
+spring.shardingsphere.sharding.default-key-generator.props.<property-name>=
#Auto-increament key generator property configuration, such as worker.id and
max.tolerate.time.difference.milliseconds of SNOWFLAKE algorithm
+
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#Refer to read-write split part for more details
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#Refer to read-write split part for more details
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#Refer to read-write split part for more details
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#Refer to read-write split part for more details
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#Refer to read-write split part for more details
+spring.shardingsphere.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#Refer to read-write split part for more details
+
+spring.shardingsphere.props.sql.show= #Show SQL or not; default value: false
+spring.shardingsphere.props.executor.size= #Executing thread number; default
value: CPU core number
+```
+
+### Data Masking
+
+#### Configuration Item Explanation
+
+```properties
+#Omit data source configurations; keep it consistent with data sharding
+
+spring.shardingsphere.encrypt.encryptors.<encryptor-name>.type= #Type of
encryptor,use user-defined ones or built-in ones, e.g. MD5/AES
+spring.shardingsphere.encrypt.encryptors.<encryptor-name>.props.<property-name>=
#Properties, Notice: when use AES encryptor, `aes.key.value` for AES encryptor
need to be set
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.plainColumn=
#Plain column name
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.cipherColumn=
#Cipher column name
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.assistedQueryColumn=
#AssistedColumns for query,when use ShardingQueryAssistedEncryptor, it can
help query encrypted data
+spring.shardingsphere.encrypt.tables.<table-name>.columns.<logic-column-name>.encryptor=
#Encryptor name
+```
+
+### Orchestration
+
+#### Configuration Item Explanation
+
+```properties
+#Omit data source, data sharding, read-write split and data masking
configurations
+
+spring.shardingsphere.orchestration.name= #Orchestration instance name
+spring.shardingsphere.orchestration.overwrite= #Whether to overwrite local
configurations with registry center configurations; if it can, each
initialization should refer to local configurations
+spring.shardingsphere.orchestration.registry.type= #Registry center type.
Example:zookeeper
+spring.shardingsphere.orchestration.registry.server-lists= #The list of
servers that connect to registry center, including IP and port number; use
commas to separate
+spring.shardingsphere.orchestration.registry.namespace= #Registry center
namespace
+spring.shardingsphere.orchestration.registry.digest= #The token that connects
to the registry center; default means there is no need for authentication
+spring.shardingsphere.orchestration.registry.operation-timeout-milliseconds=
#The millisecond number for operation timeout; default value: 500 milliseconds
+spring.shardingsphere.orchestration.registry.max-retries= #Maximum retry time
after failing; default value: 3 times
+spring.shardingsphere.orchestration.registry.retry-interval-milliseconds=
#Interval time to retry; default value: 500 milliseconds
+spring.shardingsphere.orchestration.registry.time-to-live-seconds= #Living
time of temporary nodes; default value: 60 seconds
+spring.shardingsphere.orchestration.registry.props= #Customize registry center
props.
+```
+
+## shardingsphere-3.x
+
+### Sharding
+
+#### Configuration Item Explanation
+
+```properties
+sharding.jdbc.datasource.names= #Names of data sources. Multiple data sources
separated with comma
+
+sharding.jdbc.datasource.<data-source-name>.type= #Class name of data source
pool
+sharding.jdbc.datasource.<data-source-name>.driver-class-name= #Class name of
database driver
+sharding.jdbc.datasource.<data-source-name>.url= #Database URL
+sharding.jdbc.datasource.<data-source-name>.username= #Database username
+sharding.jdbc.datasource.<data-source-name>.password= #Database password
+sharding.jdbc.datasource.<data-source-name>.xxx= #Other properties for data
source pool
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.actual-data-nodes=
#Describe data source names and actual tables, delimiter as point, multiple
data nodes separated with comma, support inline expression. Absent means
sharding databases only. Example: ds${0..7}.tbl${0..7}
+
+#Databases sharding strategy, use default databases sharding strategy if
absent. sharding strategy below can choose only one.
+
+#Standard sharding scenario for single sharding column
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.sharding-column=
#Name of sharding column
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.precise-algorithm-class-name=
#Precise algorithm class name used for `=` and `IN`. This class need to
implements PreciseShardingAlgorithm, and require a no argument constructor
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.standard.range-algorithm-class-name=
#Range algorithm class name used for `BETWEEN`. This class need to implements
RangeShardingAlgorithm, and require a no argument constructor
+
+#Complex sharding scenario for multiple sharding columns
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.complex.sharding-columns=
#Names of sharding columns. Multiple columns separated with comma
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.complex.algorithm-class-name=
#Complex sharding algorithm class name. This class need to implements
ComplexKeysShardingAlgorithm, and require a no argument constructor
+
+#Inline expression sharding scenario for si-gle s-arding column
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.inline.sharding-column=
#Name of sharding column
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.inline.algorithm-expression=
#Inline expression for sharding algorithm
+
+#Hint sharding strategy
+sharding.jdbc.config.sharding.tables.<logic-table-name>.database-strategy.hint.algorithm-class-name=
#Hint sharding algorithm class name. This class need to implements
HintShardingAlgorithm, and require a no argument constructor
+
+#Tables sharding strategy, Same as database- shar-ing strategy
+sharding.jdbc.config.sharding.tables.<logic-table-name>.table-strategy.xxx=
#Ignore
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-column-name=
#Column name of key generator, do not use Key generator if absent
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-class-name=
#Key generator, use default key generator if absent. This class need to
implements KeyGenerator, and require a no argument constructor
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.logic-index= #Name if
logic index. If use `DROP INDEX XXX` SQL in Oracle/PostgreSQL, This property
needs to be set for finding the actual tables
+
+sharding.jdbc.config.sharding.binding-tables[0]= #Binding table rule
configurations
+sharding.jdbc.config.sharding.binding-tables[1]= #Binding table rule
configurations
+sharding.jdbc.config.sharding.binding-tables[x]= #Binding table rule
configurations
+
+sharding.jdbc.config.sharding.broadcast-tables[0]= #Broadcast table rule
configurations
+sharding.jdbc.config.sharding.broadcast-tables[1]= #Broadcast table rule
configurations
+sharding.jdbc.config.sharding.broadcast-tables[x]= #Broadcast table rule
configurations
+
+sharding.jdbc.config.sharding.default-data-source-name= #If table not
configure at table rule, will route to defaultDataSourceName
+sharding.jdbc.config.sharding.default-database-strategy.xxx= #Default strategy
for sharding databases, same as databases sharding strategy
+sharding.jdbc.config.sharding.default-table-strategy.xxx= #Default strategy
for sharding tables, same as tables sharding strategy
+sharding.jdbc.config.sharding.default-key-generator-class-name= #Default key
generator class name, default value is
`io.shardingsphere.core.keygen.DefaultKeyGenerator`. This class need to
implements KeyGenerator, and require a no argument constructor
+
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#more details can reference Read-write splitting part
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#more details can reference Read-write splitting part
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#more details can reference Read-write splitting part
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#more details can reference Read-write splitting part
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#more details can reference Read-write splitting part
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#more details can reference Read-write splitting part
+sharding.jdbc.config.config.map.key1= #more details can reference Read-write
splitting part
+sharding.jdbc.config.config.map.key2= #more details can reference Read-write
splitting part
+sharding.jdbc.config.config.map.keyx= #more details can reference Read-write
splitting part
+
+sharding.jdbc.config.props.sql.show= #To show SQLS or not, default value: false
+sharding.jdbc.config.props.executor.size= #The number of working threads,
default value: CPU count
+
+sharding.jdbc.config.config.map.key1= #User-defined arguments
+sharding.jdbc.config.config.map.key2= #User-defined arguments
+sharding.jdbc.config.config.map.keyx= #User-defined arguments
+```
+
+### Read-write splitting
+
+#### Configuration Item Explanation
+
+```properties
+#Ignore data sources configuration, same as sharding
+
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.master-data-source-name=
#Name of master data source
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[0]=
#Name of master data source
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[1]=
#Names of Slave data sources
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.slave-data-source-names[x]=
#Names of Slave data sources
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-class-name=
#Load balance algorithm class name. This class need to implements
MasterSlaveLoadBalanceAlgorithm, and require a no argument constructor
+sharding.jdbc.config.sharding.master-slave-rules.<master-slave-data-source-name>.load-balance-algorithm-type=
#Load balance algorithm type, values should be: `ROUND_ROBIN` or `RANDOM`.
Ignore if `load-balance-algorithm-class-name` is present
+
+sharding.jdbc.config.config.map.key1= #User-defined arguments
+sharding.jdbc.config.config.map.key2= #User-defined arguments
+sharding.jdbc.config.config.map.keyx= #User-defined arguments
+
+sharding.jdbc.config.props.sql.show= #To show SQLS or not, default value: false
+sharding.jdbc.config.props.executor.size= #The number of working threads,
default value: CPU count
+sharding.jdbc.config.props.check.table.metadata.enabled= #Check the metadata
consistency of all the tables, default value: false
+```
+
+### Orchestration
+
+#### Configuration Item Explanation
+
+```properties
+#Ignore data sources, sharding and read-write splitting configuration
+
+sharding.jdbc.config.sharding.orchestration.name= #Name of orchestration
instance
+sharding.jdbc.config.sharding.orchestration.overwrite= #Use local
configuration to overwrite registry center or not
+sharding.jdbc.config.sharding.orchestration.registry.server-lists= #Rgistry
servers list, multiple split as comma. Example: host1:2181,host2:2181
+sharding.jdbc.config.sharding.orchestration.registry.namespace= #Namespace of
registry
+sharding.jdbc.config.sharding.orchestration.registry.digest= #Digest for
registry. Default is not need digest.
+sharding.jdbc.config.sharding.orchestration.registry.operation-timeout-milliseconds=
#Operation timeout time in milliseconds, default value is 500 milliseconds
+sharding.jdbc.config.sharding.orchestration.registry.max-retries= #Max number
of times to retry, default value is 3
+sharding.jdbc.config.sharding.orchestration.registry.retry-interval-milliseconds=
#Time interval in milliseconds on each retry, default value is 500 milliseconds
+sharding.jdbc.config.sharding.orchestration.registry.time-to-live-seconds=
#Time to live in seconds of ephemeral keys, default value is 60 seconds
+```
+
+## Shardingsphere-2.x
+
+### Read-write splitting
+
+#### Configuration Item Explanation
+
+```properties
+# Ignore data sources configuration
+
+sharding.jdbc.config.masterslave.load-balance-algorithm-type= #Load balance
algorithm class of slave database; optional value: ROUND_ROBIN and RANDOM; if
there is load-balance-algorithm-class-name, the configuration can be omitted
+sharding.jdbc.config.masterslave.name= # master name
+sharding.jdbc.config.masterslave.master-data-source-name= #Name of master data
source
+sharding.jdbc.config.masterslave.slave-data-source-names= #Name of master data
source
+```
+
+### Sharding
+
+#### Configuration Item Explanation
+
+```properties
+# Ignore data sources configuration
+sharding.jdbc.config.sharding.default-data-source-name= #Tables without
sharding rules will be located through default data source
+sharding.jdbc.config.sharding.default-database-strategy.inline.sharding-column=
#Name of database sharding column
+sharding.jdbc.config.sharding.default-database-strategy.inline.algorithm-expression=
#Inline expression for database sharding algorithm
+sharding.jdbc.config.sharding.tables.t_order.actualDataNodes= #Describe data
source names and actual tables, delimiter as point, multiple data nodes
separated with comma, support inline expression. Absent means sharding
databases only. Example: ds${0..7}.tbl${0..7}
+sharding.jdbc.config.sharding.tables.t_order.tableStrategy.inline.shardingColumn=
#Name of table sharding column
+sharding.jdbc.config.sharding.tables.t_order.tableStrategy.inline.algorithmInlineExpression=
#Inline expression for table sharding algorithm
+sharding.jdbc.config.sharding.tables.t_order.keyGeneratorColumnName= #Column
name of key generator, do not use Key generator if absent
+
+
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-column-name=
#Column name of key generator, do not use Key generator if absent
+sharding.jdbc.config.sharding.tables.<logic-table-name>.key-generator-class-name=
#Key generator, use default key generator if absent. This class need to
implements KeyGenerator, and require a no argument constructor
+
+```
+
+### Orchestration
+
+#### Configuration Item Explanation
+
+```properties
+# Ignore data sources configuration
+sharding.jdbc.config.orchestration.name= #Name of orchestration instance
+sharding.jdbc.config.orchestration.overwrite= #Use local configuration to
overwrite registry center or not
+
+
+sharding.jdbc.config.sharding.orchestration.name= #Name of orchestration
instance
+sharding.jdbc.config.sharding.orchestration.overwrite= #Use local
configuration to overwrite registry center or not
+sharding.jdbc.config.sharding.orchestration.registry.server-lists= #Rgistry
servers list, multiple split as comma. Example: host1:2181,host2:2181
+sharding.jdbc.config.sharding.orchestration.registry.namespace= #Namespace of
registry
+sharding.jdbc.config.sharding.orchestration.registry.digest= #Digest for
registry. Default is not need digest.
+sharding.jdbc.config.sharding.orchestration.registry.operation-timeout-milliseconds=
#Operation timeout time in milliseconds, default value is 500 milliseconds
+sharding.jdbc.config.sharding.orchestration.registry.max-retries= #Max number
of times to retry, default value is 3
+sharding.jdbc.config.sharding.orchestration.registry.retry-interval-milliseconds=
#Time interval in milliseconds on each retry, default value is 500 milliseconds
+sharding.jdbc.config.sharding.orchestration.registry.time-to-live-seconds=
#Time to live in seconds of ephemeral keys, default value is 60 seconds
+
+# The configuration in Zookeeper
+sharding.jdbc.config.orchestration.zookeeper.namespace= #Namespace of
zookeeper registry
+sharding.jdbc.config.orchestration.zookeeper.server-lists= #Zookeeper Rgistry
servers list, multiple split as comma. Example: host1:2181,host2:2181
+
+# The configuration in Etcd
+sharding.jdbc.config.orchestration.etcd.server-lists= #Etcd Rgistry servers
list, multiple split as comma. Example: host1:2181,host2:2181
+```
\ No newline at end of file
diff --git
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow.cn.md
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow.cn.md
index 5aa6b7b..e0efc9c 100644
---
a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow.cn.md
+++
b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow.cn.md
@@ -8,6 +8,6 @@ weight = 4
```properties
spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
-spring.shardingsphere.rules.shadow.column= # 影子字段名称名称
+spring.shardingsphere.rules.shadow.column= # 影子字段名称
spring.shardingsphere.rules.shadow.shadow-mappings.<product-data-source-name>=
# 影子数据库名称
```
\ No newline at end of file