简单分库 并没有分表
依赖:
<!-- sharding-jdbc -->
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
场景:
根据group_id 字段进行分库 所有库中的表名,字段都相同
配置 :
###mysql默认配置###
default-conf:
minIdle: 5 # 连接池闲置连接最小数量
#maxIdle: 100 # 连接池闲置连接最大数量
timeBetweenEvictionRunsMillis: 60000 #检测连接的间隔时间 %testWhileIdle%的判断依据(见下方对应配置项)
minEvictableIdleTimeMillis: 300000 # 连接保持空闲而不被驱逐的最长时间 单位毫秒
initialSize: 5 # 连接池初始大小
maxWait: 60000 # 获取连接时最大等待时间 单位毫秒。
maxActive: 20 # 最大连接数
validationQuery: SELECT 1 #数据库连接状态检测语句 %testWhileIdle%的检测语句(见下方对应配置项)
testWhileIdle: true # 申请连接的时候检测 如果空闲时间大于%timeBetweenEvictionRunsMillis% 执行%validationQuery%检测连接是否有效(见上方对应配置)
testOnBorrow: false # 申请连接时执行validationQuery检测连接是否有效 配置为true会降低性能
testOnReturn: false # 归还连接时执行validationQuery检测连接是否有效 配置为true会降低性能
filters: stat,wall,logback # 监控统计filter:stat 防御sql注入filter:wall 日志filter:logback
logSlowSql: true # 是否启用慢日志
merge-sql: true # 是否合并日志
slow-sql-millis: 1000 # 慢日志查询时间标准
###结束###
#数据连接池相关配置
sharding:
jdbc:
datasource:
#分库1
partsd001:
password:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url:
username: root
minIdle : ${default-conf.minIdle}
##maxIdle : ${default-conf.#maxIdle}
initialSize : ${default-conf.initialSize}
timeBetweenEvictionRunsMillis : ${default-conf.timeBetweenEvictionRunsMillis}
minEvictableIdleTimeMillis : ${default-conf.minEvictab