springboot2 接入shardingsphere-jdbc-core-spring-boot-starter
环境 springboot+mybatis-plus+driud
注:druid引入方式请不要使用boot-starter方式
<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId> <version>5.2.0</version> </dependency>
yml配置
shardingsphere: mode: type: Standalone schema: name: multit-tenant props: sql-show: false datasource: # 配置真实数据源 names: ds0 ds0: # 配置第 1 个数据源 type: ${spring.datasource.type} driver-class-name: ${spring.datasource.driverClassName} url: ${spring.datasource.url} username: ${spring.datasource.username} password: ${spring.datasource.password} rules: # 配置 表规则 sharding: tables: user_operation_log: # 分表,表名 # 配置分库策略 # 由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况 actual-data-nodes: ds0.user_operation_log_$->{202411..202412} #数据节点,均匀分布 table-strategy: # 配置分表策略 standard: sharding-column: create_time sharding-algorithm-name: table-inline # 配置 分片算法 sharding-algorithms: table-inline: type: INLINE props: algorithm-expression: user_operation_log_$->{create_time.toString().substring(0, 7).replace("-", "")} #按模运算分配 allow-range-query-with-inline-sharding: true
以上代码可正常执行