前言
ShardingSphere定位为关系型数据库中间件,ShardingSphere包含三个核心的模块Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar。简单介绍一下Sharding-JDBC这个模块:Sharding-JDBC可以理解为可以实现分库分表功能的增强型JDBC,并且可以兼容任何基于Java的ORM框架,比如我们平时用到的mybatis,JPA,Hibernate都能兼容。
这篇博客单纯介绍ShardingSphere与SpringBoot的搭建过程,代码均经过测试。如果想对一些概念,原理与功能进行了解,可以查看官方文档,现在文档支持中英文两种语言。
官方文档地址:https://shardingsphere.apache.org/document/current/cn/overview/
官方github地址:https://github.com/apache/incubator-shardingsphere.git
正文
把全部代码贴上来不切实际,所以本文记录一些关键性的代码,如果需要查看全部的项目信息可以去github浏览。ShardingSphere+SpringBoot的搭建案例已上传至github。
ShardingSphere+SpringBoot案例:https://github.com/mengxin1018/springboot-shardingsphere.git
1.引入依赖
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>
2.配置信息
2.1数据分片
#数据分片配置
spring:
main:
# 允许重新定义bean
allow-bean-definition-overriding: true
shardingsphere:
props:
#sql显示
sql.show: true
# 数据源
datasource:
names: shardings01,shardings02
shardings01:
#数据库连接池类名称
type: com.alibaba.druid.pool.DruidDataSource
#数据库驱动类名
driver-class-name: com.mysql.cj.jdbc.Driver
#数据库url连接
url: jdbc:mysql://localhost:3306/shardings01
#数据库用户名
username: root
#数据库密码
password: root
shardings02:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver