Sharding-JDBC分库分表使用实例
Sharding-JDBC是当当开源的用于分库分表的基础类库。定位轻量级java框架,可以通过客户端直接连接数据库,只需要在增加额外的数据源配置就可以轻松实现完整的分库分表功能。 Sharding-JDBC是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。 目前Sharding-JDBC已经实现的功能包括(最新稳定版本为 2.0.0.M1 ): 分库分表 读写分离 分布式主键 柔性事务 分布式治理能力(2.0新功能),具体包括: 配置集中化与动态化,可支持数据源、表与分片策略的动态切换 客户端的数据库治理,数据源失效自动切换 基于Open Tracing协议的APM信息输出 下面的例子都是基于Spring Boot开发: Spring Boot + Mybatis + Druid + Sharding-Jdbc 工程结构 Application 是项目的启动入口 DataSourceConfig 是数据源配置,包括如何结合Sharding-Jdbc设置分库分表 algorithm 下面是设置的分库分表策略,比如当 city_id % 2 为偶数放在库A,否则放在库B UserMapper 是Mybatis的接口,由于采用了全注解配置,所以没有Mapper文件 druid 下面是druid的监控页面配置 pom配置 <?xml version="1