spring:
shardingsphere:
datasource:
names: ds0,ds1
ds0:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
username: root
password: 123456
jdbc-url: jdbc:mysql://pig-mysql:3306/pig?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
ds1:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
username: root
password: 123456
jdbc-url: jdbc:mysql://pig-mysql:3308/pig_test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
props:
sql-show: true
rules:
sharding:
tables:
sys_log:
actual-data-nodes: ds0.sys_log_GET,ds1.sys_log_POST,ds0.sys_log_PUT,ds0.sys_log_DELETE
database-trategy:
standard:
sharding-algorithm-name: database-inline
sharding-column: method
table-strategy:
standard:
sharding-algorithm-name: table-inline
sharding-column: method
sharding-algorithms:
database-inline:
props:
algorithm-expression: ds$->{ method == 'POST' ? 1:0 }
type: INLINE
table-inline:
props:
algorithm-expression: sys_log_$->{method}
type: INLINE
ds0 新建三个表sys_log_GET,sys_log_PUT,sys_log_DELETE
ds1新建单表sys_log_POST
使用pigx 开源框架对shardingsphere5 进行扩展说明。详情见https://www.yuque.com/pig4cloud/pig/gd85zw 。表结构在链接页面中