springboot自定义分库分表
介绍
闲来无事,自己写了个分库分表的实现
软件架构
软件架构说明
一:熟悉该分表分库的插件的前置知识点
1)spring aop 知识点
2)自定义注解以及如何解析自定义注解
3)springboot 整合druid mybatis的知识点
4)熟悉多数据源 AbstractRoutingDataSource的工作原理
5)ThreadLocal的应用
6)设计模式 模板模式和策略模式
二:插件名称解释
多库:在数据中有多个相同的数据库比如Order00 Order01 Order02 数据库
多表:在一个数据库中比如Order00中有四个order订单表 比如 order_0000 order_0001 order_0002 order_0003
三:分表分库策略
①:多库多表策略(ROUTING_DS_TABLE_STATEGY)
②:一库多表策略(ROUTGING_DS_STATEGY)
③:多库一表策略(ROUTGIN_TABLE_STATEGY)
四:由于分库分表策略不同,导致数据库个数 和表的个数不同,可以出现错误配置,项目中作了启动配置策略检查
com.tuling.multidatasource.core.AbstractTulingRouting.afterPropertiesSet
五:在自定义注解中 可以配置指定的路由key,然后在切面中去解析自定义注解获取到自定义的路由key
六:根据application.properties
tuling.dsroutingset.routingStategy来指定条件装配策略