Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
37037100
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
37037100
编写于
5月 26, 2020
作者:
Z
zhyee
提交者:
GitHub
5月 26, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve the testing of shadow spring namespace example (#5789)
上级
34d54550
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
324 addition
and
1 deletion
+324
-1
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
...re/example/shadow/table/spring/namespace/ExampleMain.java
+3
-0
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-encrypt-shadow-databases.xml
...sources/META-INF/application-encrypt-shadow-databases.xml
+102
-0
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-master-slave-shadow-databases.xml
...es/META-INF/application-master-slave-shadow-databases.xml
+105
-0
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-shadow-databases.xml
.../main/resources/META-INF/application-shadow-databases.xml
+1
-1
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-sharding-shadow-databases.xml
...ources/META-INF/application-sharding-shadow-databases.xml
+113
-0
未找到文件。
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
浏览文件 @
37037100
...
...
@@ -27,6 +27,9 @@ import java.sql.SQLException;
public
class
ExampleMain
{
private
static
final
String
CONFIG_FILE
=
"META-INF/application-shadow-databases.xml"
;
// private static final String CONFIG_FILE = "META-INF/application-sharding-shadow-databases.xml";
// private static final String CONFIG_FILE = "META-INF/application-master-slave-shadow-databases.xml";
// private static final String CONFIG_FILE = "META-INF/application-encrypt-shadow-databases.xml";
public
static
void
main
(
final
String
[]
args
)
throws
SQLException
{
try
(
ConfigurableApplicationContext
applicationContext
=
new
ClassPathXmlApplicationContext
(
CONFIG_FILE
))
{
...
...
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-encrypt-shadow-databases.xml
0 → 100644
浏览文件 @
37037100
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:shardingsphere=
"http://shardingsphere.apache.org/schema/shardingsphere/datasource"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xmlns:shadow=
"http://shardingsphere.apache.org/schema/shardingsphere/shadow"
xmlns:encrypt=
"http://shardingsphere.apache.org/schema/shardingsphere/encrypt"
xmlns:bean=
"http://www.springframework.org/schema/util"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://shardingsphere.apache.org/schema/shardingsphere/datasource
http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
http://shardingsphere.apache.org/schema/shardingsphere/shadow
http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow.xsd
http://shardingsphere.apache.org/schema/shardingsphere/encrypt
http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt.xsd
"
>
<context:component-scan
base-package=
"org.apache.shardingsphere.example.core.mybatis"
/>
<bean
id=
"ds"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_ds?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"shadow_ds"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/shadow_demo_ds?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<shadow:rule
id=
"shadowRule"
column=
"shadow"
>
<shadow:mappings>
<shadow:mapping
product-data-source-name=
"ds"
shadow-data-source-name=
"shadow_ds"
/>
</shadow:mappings>
</shadow:rule>
<encrypt:rule
id=
"encryptRule"
>
<encrypt:tables>
<encrypt:table
name=
"t_user"
>
<encrypt:column
logic-column=
"user_name"
plain-column=
"user_name_plain"
cipher-column=
"user_name"
encryptor-ref=
"name_encryptor"
/>
<encrypt:column
logic-column=
"pwd"
cipher-column=
"pwd"
assisted-query-column=
"assisted_query_pwd"
encryptor-ref=
"pwd_encryptor"
/>
</encrypt:table>
</encrypt:tables>
<encrypt:encryptors>
<encrypt:encryptor
id=
"name_encryptor"
type=
"AES"
>
<props>
<prop
key=
"aes.key.value"
>
123456
</prop>
</props>
</encrypt:encryptor>
<encrypt:encryptor
id=
"pwd_encryptor"
type=
"assistedTest"
/>
</encrypt:encryptors>
</encrypt:rule>
<shardingsphere:data-source
id=
"encryptShadowDataSource"
data-source-names=
"ds,shadow_ds"
rule-refs=
"shadowRule,encryptRule"
>
<props>
<prop
key=
"sql.show"
>
true
</prop>
<prop
key=
"query.with.cipher.column"
>
true
</prop>
</props>
</shardingsphere:data-source>
<bean
id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"encryptShadowDataSource"
/>
</bean>
<tx:annotation-driven
/>
<bean
id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"encryptShadowDataSource"
/>
<property
name=
"mapperLocations"
value=
"classpath*:META-INF/mappers/*.xml"
/>
</bean>
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<property
name=
"basePackage"
value=
"org.apache.shardingsphere.example.core.mybatis.repository"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"sqlSessionFactory"
/>
</bean>
</beans>
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-master-slave-shadow-databases.xml
0 → 100644
浏览文件 @
37037100
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:shardingsphere=
"http://shardingsphere.apache.org/schema/shardingsphere/datasource"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xmlns:shadow=
"http://shardingsphere.apache.org/schema/shardingsphere/shadow"
xmlns:master-slave=
"http://shardingsphere.apache.org/schema/shardingsphere/masterslave"
xmlns:bean=
"http://www.springframework.org/schema/util"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://shardingsphere.apache.org/schema/shardingsphere/datasource
http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
http://shardingsphere.apache.org/schema/shardingsphere/shadow
http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow.xsd
http://shardingsphere.apache.org/schema/shardingsphere/masterslave
http://shardingsphere.apache.org/schema/shardingsphere/masterslave/master-slave.xsd
"
>
<context:component-scan
base-package=
"org.apache.shardingsphere.example.core.mybatis"
/>
<bean
id=
"ds_master"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_ds_master?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"ds_slave"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_ds_slave?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"shadow_ds_master"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_shadow_ds_master?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"shadow_ds_slave"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_shadow_ds_slave?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<shadow:rule
id=
"shadowRule"
column=
"shadow"
>
<shadow:mappings>
<shadow:mapping
product-data-source-name=
"ds_master"
shadow-data-source-name=
"shadow_ds_master"
/>
<shadow:mapping
product-data-source-name=
"ds_slave"
shadow-data-source-name=
"shadow_ds_slave"
/>
</shadow:mappings>
</shadow:rule>
<shardingsphere:data-source
id=
"shadowDataSource"
data-source-names=
"ds_master,ds_slave,shadow_ds_master,shadow_ds_slave"
rule-refs=
"shadowRule,masterSlaveRule"
>
<props>
<prop
key=
"sql.show"
>
true
</prop>
</props>
</shardingsphere:data-source>
<master-slave:load-balance-algorithm
id=
"randomStrategy"
type=
"RANDOM"
/>
<master-slave:rule
id=
"masterSlaveRule"
>
<master-slave:data-source-rule
id=
"demo_ds"
master-data-source-name=
"ds_master"
slave-data-source-names=
"ds_slave"
strategy-ref=
"randomStrategy"
/>
</master-slave:rule>
<bean
id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"shadowDataSource"
/>
</bean>
<tx:annotation-driven
/>
<bean
id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"shadowDataSource"
/>
<property
name=
"mapperLocations"
value=
"classpath*:META-INF/mappers/*.xml"
/>
</bean>
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<property
name=
"basePackage"
value=
"org.apache.shardingsphere.example.core.mybatis.repository"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"sqlSessionFactory"
/>
</bean>
</beans>
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-shadow-databases.xml
浏览文件 @
37037100
...
...
@@ -60,7 +60,7 @@
<shardingsphere:data-source
id=
"shadowDataSource"
data-source-names=
"ds,shadow_ds"
rule-refs=
"shadowRule"
>
<props>
<prop
key=
"sql.show"
>
${sql_show}
</prop>
<prop
key=
"sql.show"
>
true
</prop>
</props>
</shardingsphere:data-source>
...
...
examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-sharding-shadow-databases.xml
0 → 100644
浏览文件 @
37037100
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:shardingsphere=
"http://shardingsphere.apache.org/schema/shardingsphere/datasource"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xmlns:shadow=
"http://shardingsphere.apache.org/schema/shardingsphere/shadow"
xmlns:sharding=
"http://shardingsphere.apache.org/schema/shardingsphere/sharding"
xmlns:bean=
"http://www.springframework.org/schema/util"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://shardingsphere.apache.org/schema/shardingsphere/datasource
http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
http://shardingsphere.apache.org/schema/shardingsphere/shadow
http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow.xsd
http://shardingsphere.apache.org/schema/shardingsphere/sharding
http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
"
>
<context:component-scan
base-package=
"org.apache.shardingsphere.example.core.mybatis"
/>
<bean
id=
"ds_0"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_ds_0?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"ds_1"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/demo_ds_1?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"shadow_ds_0"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/shadow_demo_ds_0?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<bean
id=
"shadow_ds_1"
class=
"com.zaxxer.hikari.HikariDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<property
name=
"jdbcUrl"
value=
"jdbc:mysql://localhost:3306/shadow_demo_ds_1?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
/>
<property
name=
"username"
value=
"root"
/>
<property
name=
"password"
value=
""
/>
</bean>
<sharding:rule
id=
"shardingRule"
>
<sharding:table-rules>
<sharding:table-rule
actual-data-nodes=
"ds_${0..1}.t_user"
logic-table=
"t_user"
database-strategy-ref=
"databaseStrategy"
/>
</sharding:table-rules>
</sharding:rule>
<sharding:standard-strategy
id=
"databaseStrategy"
sharding-column=
"user_id"
algorithm-ref=
"inlineStrategyShardingAlgorithm"
/>
<sharding:sharding-algorithm
id=
"inlineStrategyShardingAlgorithm"
type=
"INLINE"
>
<props>
<prop
key=
"algorithm.expression"
>
ds_${user_id % 2}
</prop>
</props>
</sharding:sharding-algorithm>
<shadow:rule
id=
"shadowRule"
column=
"shadow"
>
<shadow:mappings>
<shadow:mapping
product-data-source-name=
"ds_0"
shadow-data-source-name=
"shadow_ds_0"
/>
<shadow:mapping
product-data-source-name=
"ds_1"
shadow-data-source-name=
"shadow_ds_1"
/>
</shadow:mappings>
</shadow:rule>
<shardingsphere:data-source
id=
"shardingShadowDataSource"
data-source-names=
"ds_0,ds_1,shadow_ds_0,shadow_ds_1"
rule-refs=
"shadowRule,shardingRule"
>
<props>
<prop
key=
"sql.show"
>
true
</prop>
</props>
</shardingsphere:data-source>
<bean
id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"shardingShadowDataSource"
/>
</bean>
<tx:annotation-driven
/>
<bean
id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"shardingShadowDataSource"
/>
<property
name=
"mapperLocations"
value=
"classpath*:META-INF/mappers/*.xml"
/>
</bean>
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<property
name=
"basePackage"
value=
"org.apache.shardingsphere.example.core.mybatis.repository"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"sqlSessionFactory"
/>
</bean>
</beans>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录