Sharding-JDBC 使用入门和基本配置

Sharding-JDBC是一个轻量级Java框架,作为增强版JDBC驱动提供服务,支持分库分表、读写分离和分布式事务。适用任何Java ORM框架和数据库连接池,支持MySQL、Oracle等。配置包括数据源、读写分离和分片策略,提供StandardShardingStrategy、InlineShardingStrategy等分片策略,并支持Hint分片。分布式事务方面,支持非跨库事务和部分跨库异常回滚。
摘要由CSDN通过智能技术生成

作者:高玉珑

来源:宜信技术学院

技术沙龙001期|AI中台:一种敏捷的智能业务支持方案|宜信技术沙龙 3月28日晚8点线上直播,点击报名

宜信技术学院

1、什么是Sharding-JDBC

Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

2、Sharding-JDBC能做什么

分库 & 分表

读写分离

分布式主键

分布式事务

3、适用项目框架

Sharding-JDBC适用于:

  • 任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。

  • 基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。

  • 支持任意实现JDBC规范的数据库,目前支持MySQL,Oracle,SQLServer和PostgreSQL。

4、Maven依赖

<!-- sharding jdbc 开始-->
<dependency>
    <groupId>io.shardingsphere</groupId>
    <artifactId>sharding-core</artifactId>
    <version>${sharding.version}</version>
</dependency>
<dependency>
    <groupId>io.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-namespace</artifactId>
    <version>${sharding.version}</version>
</dependency>
<!—如果不配置分布式事务的话配置上边两个就够了 --> 
<!--分布式事务引用依赖-->
<dependency>
    <groupId>io.shardingsphere</groupId>
    <artifactId>sharding-transaction-2pc-xa</artifactId>
    <version>${sharding.version}</version>

</dependency>
<dependency>
    <groupId>io.shardingsphere</groupId>
    <artifactId>sharding-transaction-spring</artifactId>
    <version>${sharding.version}</version>
</dependency>
<!-- sharding jdbc 结束-->
<!--AspectJ AOP支持 -->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>${aspectjweaver.version}</version>
</dependency>

5、读写分离

5.1 数据源配置

先配置数据源

也可以配置读写分离

以下配置是ds0和ds1两个数据库的主和从一共四个数据源。

parentDs 是数据源公共的配置,抽出去以免写重复代码。

<!-- ds0的主-->
<bean id="ds0_master" class="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值