# 服务端口
server:
port:8888# 服务名
spring:
application:
name: test-user
# 配置sharding jdbc分片规则
shardingsphere:
datasource:
# 连接名称(下面要用这个名称来区分库)
names: ds0,ds1
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.19:3306/user0?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password:123initialSize:5#初始化大小
maxActive:200#最大值
maxWait:2000#最大等待时间,配置获取连接等待超时,时间单位都是毫秒ms
timeBetweenEvictionRunsMillis:60000#配置间隔多久才进行一次检测,检测需要关闭的空闲连接
ds1:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.19:3306/user1?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password:123initialSize:5#初始化大小
maxActive:200#最大值
maxWait:2000#最大等待时间,配置获取连接等待超时,时间单位都是毫秒ms
timeBetweenEvictionRunsMillis:60000#配置间隔多久才进行一次检测,检测需要关闭的空闲连接
# 配置分片规则
sharding:
# 按表来区分
tables:
us_admin:
# 配置数据节点
actualDataNodes: ds${0..1}.us_admin${0..1}
# 分库策略
databaseStrategy:
inline:
# 分库的规则 用user_id这个字段来分库 总共有两个库 及ds0(user0)与ds1(user1)
shardingColumn: user_id
algorithmExpression: ds${user_id% 2}
# 分表策略
tableStrategy:
inline:
shardingColumn: addr_id
algorithmExpression: us_admin${addr_id% 2}
keyGenerator:
column: id
type: SNOWFLAKE
bindingTables:
us_admin
broadcastTables:
t_config
defaultDataSourceName: ds0
props:
sql.show:true# 配置xml 的扫描路径
mybatis:
mapper-locations: classpath:mapper/*.xml
check-config-location: true
type-aliases-package: com.sharding.sphere.model
configuration:
cacheEnabled: true
mapUnderscoreToCamelCase: true